# Handbok &kalgebra;

Aleix Pol

    &Aleix.Pol.mail;

Stefan Asserhäll

    stefan.asserhall@bredband.net

Översättare
2007 &Aleix.Pol;
&FDLNotice;
2020-12-17
Program 20.12

&kalgebra; är ett program som kan ersätta en grafisk miniräknare. Det har numeriska, logiska, symboliska och analytiska funktioner som gör det möjligt att beräkna matematiska uttryck med räknaren och rita upp resultatet grafiskt i två eller tre dimensioner. &kalgebra; är grundat på det matematiska taggspråket (&MathML;), men man behöver dock inte känna till &MathML; för att använda &kalgebra;.

KDE kdeedu graf matematik 2D 3D MathML

## Inledning

&kalgebra; har en mängd funktioner som låter användare utföra alla sorters matematiska operationer och visa dem grafiskt. Tidigare var programmet grundat på &MathML;, men nu kan det användas av vem som helst med en viss kunskap om matematik för att lösa likväl enkla som avancerade problem.

Det innehåller funktioner som:

- En räknare för snabb och enkel utvärdering av matematiska funktioner.

- Skriptmöjligheter för avancerade beräkningsserier.

- Språkmöjligheter inklusive funktionsdefinitioner och automatisk komplettering av syntax.

- Analytiska funktioner inklusive symbolisk derivering, vektoranalys och listhantering.

- Uppritning av funktioner med rörlig markör för grafisk rotsökning och andra typer av analys.

- Tredimensionell uppritning för användbar återgivning av tredimensionella funktioner.

- Ett inbyggt lexikon med operatorer för snabb referens till de många tillgängliga funktionerna.

Här är en skärmbild av programmet &kalgebra; i arbete:

Här är en skärmbild av huvudfönstret i &kalgebra;
Huvudfönstret i &kalgebra;

När användaren påbörjar en session i &kalgebra;, visas ett enda fönster som består av fliken Räknare, en flik med ett tvådimensionellt diagram, en flik med ett tredimensionellt diagram, och fliken Lexikon. I varje flik finns ett inmatningsfält för att mata in funktioner eller beräkningar, och ett visningsfält som visar resultaten.

Användaren kan när som helst hantera sessioner med alternativen i huvudmenyn Session:

&Ctrl; N Session Ny

  Öppnar ett nytt fönster i &kalgebra;.

&Ctrl;&Shift; F Session Fullskärmsläge

  Ändra fullskärmsläge fönstret i &kalgebra;. Fullskärmsläge kan också sättas på eller stängas av genom att använda knappen längst upp till höger i &kalgebra;s fönster.

&Ctrl; Q Session Avsluta

  Stänger av programmet.

## Syntax

&kalgebra; använder intuitiv algebraisk syntax för att mata in användarfunktioner, som liknar det som används av de flesta moderna grafiska miniräknare. Det här avsnittet listar de grundläggande inbyggda operatorer som är tillgängliga i &kalgebra;. Upphovsmannen till &kalgebra; modellerade syntaxen efter Maxima och Maple för användare som eventuellt är bekanta med dessa program.

För användare som är intresserade av hur &kalgebra; fungerar internt, konverteras uttryck som matas in av användare till &MathML; i bakgrunden. En rudimentär förståelse av möjligheterna i &MathML; räcker långt för att avslöja de interna möjligheterna i &kalgebra;.

Här är en lista av operatorer vi har sett nu:

- `+ - * /` : Addition, subtraktion, multiplikation och division.

- `^, **` : Upphöjt till, där endera formen kan användas. Dessutom är det möjligt att använda Unicode-tecknet `²`. Upphöjt till är också ett sätt att skriva rötter. Det kan göras som `a**(1/b)`.

- `->` : lambda. Detta är sättet en eller flera oberoende variabler anges som ska kopplas till en funktion. Exempelvis används lambda operatorn för att ange att `x` och `y` kopplas när funktionen length används i uttrycket `length:=(x,y)->(x*x+y*y)^0.5`.

- `x=a..b` : Detta används när man behöver begränsa ett intervall (begränsad variabel+övre gräns+undre gräns). Det betyder att `x` går från `a` till `b`.

- `()` : Används för att ange högre prioritet.

- `abc(parametrar)` : Funktioner. När tolken hittar en funktion, kontrolleras om `abc` är en operator. Om den är det, behandlas den som en operator. Om den inte är det, behandlas den som en användarfunktion.

- `:=` : Definition. Det används för att definiera ett variabelvärde. Man kan skriva uttryck som `x:=3`, `x:=y` (vare sig `y` är definierad eller inte), eller `omkrets:=r->2*pi*r`.

- `?` : Villkorsdefinition del för del. Vi kan definiera villkorsoperationer i &kalgebra; del för del. Med andra ord, är det ett sätt att ange villkoren om, annars om och annars. Om villkoret anges före '`?`' används uttrycket bara om det är sant. Om ett '`?`' utan något villkor hittas, används den sista instansen. Till exempel: `piecewise { eq (x,0) ? 0, eq(x,1) ? x+1, ? x**2 }`

- `{ }` : &MathML;-omgivning. Den kan användas för att definiera en omgivning. I huvudsak användbar för att arbeta del för del.

- `= > >= < <=` : Jämförelse av värden för respektive lika med, större än, större än eller lika med, mindre än, mindre än eller lika med

Nu kan man ställa sig frågan varför användaren ska bry sig om &MathML;? Det är enkelt. Med det kan man utnyttja funktioner som `cos()`, `sin()` och övriga trigonometriska funktioner, `sum()` eller `product()`. Det spelar ingen roll vilken sort den är. Man kan använda `plus()`, `times()` och allt som har en operator. Booleska funktioner är också implementerade, så man kan exempelvis skriva något som liknar `or(1,0,0,0,0)`.

## Använda räknaren

&kalgebra;s räknare är användbar som en miniräknare med superstyrka. Användaren kan skriva in uttryck att utvärdera med inställningarna Beräkna eller Utvärdera, beroende på menyvalet Räknare.

I utvärderingsläge förenklar &kalgebra; uttrycket även när det ser en odefinierad variabel. I beräkningsläge beräknar &kalgebra; allting, och om en odefinierad variabel påträffas, visas ett fel.

Förutom att visa ekvationerna som användaren matat in och resultaten i räknaren, visas alla variabler som är deklarerade i en bestående ram till höger. Genom att dubbelklicka på en variabel visas en dialogruta som låter dig ändra värdena (bara ett sätt att gå runt loggen).

Variabeln `ans` är speciell. Varje gång ett uttryck skrivs in kommer variabeln `ans` värde att ändras till det senaste resultatet.

Det följande är exempelfunktioner som kan matas in i inmatningsfältet på räknarfönstret:

- `sin(pi)`

- `k:=33`

- `sum(k*x : x=0..10)`

- `f:=p->p*k`

- `f(pi)`

Det följande visar en skärmbild av räknarfönstret efter att de ovanstående exempeluttrycken har matats in:

Skärmbild av &kalgebra;s räknarfönster med exempel på uttryck
Räknarfönstret i &kalgebra;

En användare kan styra hur en serie beräkningar utförs med alternativen i menyn Räknare:

&Ctrl; L Räknare Ladda skript...

  Kör instruktioner i en fil i tur och ordning. Användbart om man vill definiera några bibliotek eller återuppta något tidigare arbete.

Räknare Senaste skript

  Visar en undermeny som gör att du kan välja senast körda skript.

&Ctrl; G Räknare Spara skript...

  Sparar instruktionerna som har skrivits in sedan sessionen påbörjades, för att kunna återanvända dem. Skapar textfiler, som bör vara enkla att ändra med vilken texteditor som helst, såsom &kate;.

&Ctrl; S Räknare Exportera logg...

  Sparar loggen med alla resultat i en &HTML;-fil, för att kunna skriva ut dem eller publicera dem.

F3 Räknare Infoga ans...

  Infoga variabeln `ans` som gör det enklare att återanvända äldre värden.

Räknare Beräkna

  En alternativknapp för att ställa in Körningsläge till beräkning.

Räknare Utvärdera

  En alternativknapp för att ställa in Körningsläge till utvärdering.

## Tvådimensionella diagram

För att lägga till en ny tvådimensionell graf i &kalgebra;, välj den tvådimensionella fliken och klicka på fliken Lägg till för att lägga till en ny funktion. Då ges fokus till en textruta för inmatning där funktionen kan skrivas in.

### Syntax

Om en typisk `f(x)`-funktion ska användas, är det inte nödvändigt att ange det, men om en `f(y)`-funktion eller polär funktion önskas, måste `y->` och `q->` anges som bundna variabler.

Exempel:

- `sin(x)`

- `x²`

- `y->sin(y)`

- `q->3*sin(7*q)`

- `t->vector{sin t, t**2}`

Om du har skrivit in funktionen, klicka på knappen Ok för att visa grafen i huvudfönstret.

### Funktioner

Flera grafer kan visas i samma diagram. Använd bara knappen Lägg till i listläge. Varje graf kan få en egen färg.

Vyn kan zoomas och flyttas med musen. Genom att använda mushjulet kan man zooma in eller ut. Man kan också markera ett område med musens vänsterknapp, så zoomas området in. Flytta vyn med tangentbordets piltangenter.

Vyn för tvådimensionellt diagram kan definieras explicit genom att använda fliken Vy under någon av flikarna Tredimensionellt diagram.

Under fliken Lista längst ner till höger, kan en flik benämnd Redigering öppnas med ett dubbelklick för att redigera eller ta bort en funktion, samt visa eller dölja den genom att markera eller avmarkera kryssrutan intill funktionen.

I menyn Tvådimensionellt diagram hittar du följande alternativ:

- Rutnät: Visa eller dölj rutnätet

- Behåll proportion: Behåll proportion vid zoomning

- Spara: Spara (&Ctrl; S) grafen som en bildfil

- Zooma in (&Ctrl; +) och Zooma ut (&Ctrl; -)

- Verklig storlek: Återställ vyn till ursprunglig zoomning

- Upplösning: Följs av en lista med alternativknappar för att välja en upplösning för diagrammen.

Nedan är en skärmbild av en användare vars markör är vid roten längst till höger för funktionen `sin(1/x)`. Användaren som ritade upp den använde mycket hög upplösning för att skapa grafen (eftersom den oscillerar med allt högre frekvens nära origo). Det finns också en rörlig markörfunktion som visar `x`- och `y`-värden längst ner till vänster på skärmen när markören hålls över en punkt. En rörlig tangentlinje ritas vid funktionen på platsen för den rörliga markören.

Här är en skärmbild av fönstret för tvådimensionella diagram i &kalgebra;
Fönstret för tvådimensionella diagram i &kalgebra;

## Tredimensionella diagram

För att rita en tredimensionell graf i &kalgebra;, välj fliken Tredimensionellt diagram. Längst ner finns ett inmatningsfält där funktionen kan skrivas in. `Z` kan ännu inte definieras. För närvarande stöder &kalgebra; bara tredimensionella diagram som bara beror explicit på `x` och `y`, såsom `(x,y)->x*y`, där `z=x*y`.

Exempel:

- `(x,y)->sin(x)*sin(y)`

- `(x,y)->x/y`

Vyn kan zoomas och flyttas med musen. Genom att använda mushjulet kan man zooma in eller ut. Håll nere vänster musknapp och flytta musen för att rotera diagrammet.

Vänster och höger piltangenter roterar diagrammet omkring `Z`-axeln, medan uppåt- och neråttangenterna roterar omkring vyns horisontella axel. Tryck på W för att zooma in i diagrammet och S för att zooma ut.

I menyn Tredimensionellt diagram hittar du följande alternativ:

- Spara: Spara (&Ctrl; S) grafen som en bildfil eller ett dokument som stöds

- Återställ vy: Återställ vyn till ursprunglig zoomning i menyn Tredimensionellt diagram

- Du kan rita diagrammet med Punkter, Linjer eller Ytor i menyn Tredimensionellt diagram

Nedan finns en skärmbild av den så kallade sombrero-funktionen. Just den här grafen visas med linjestil i det tredimensionella diagrammet.

Här är en skärmbild av fönstret för tredimensionella diagram i &kalgebra;
Fönstret för tredimensionella diagram i &kalgebra;

## Lexikon

Lexikonet är en samling av alla inbyggda funktioner i &kalgebra;. Det kan vara användbart för att hitta definitionen av en operation och dess inparametrar. Det är en användbar plats för att få reda på de många möjligheterna i &kalgebra;.

Nedan visas en skärmbild av uppslagning av funktionen cosinus i &kalgebra;s lexikon.

Här är en skärmbild av lexikonfönstret i &kalgebra;
Lexikonfönstret i &kalgebra;
&commands;

## Tack till och licens

- Program copyright 2005-2009 &Aleix.Pol;

Dokumentation copyright 2007 &Aleix.Pol; &Aleix.Pol.mail;

Översättning Stefan Asserhäll stefan.asserhall@bredband.net

&underFDL; &underGPL;
&documentation.index;