Magnus Karlsson



Källa: http://magnus-karlsson.nu/matte/numdiffeq.php

Matematik

Riktningsfält och numerisk lösning av differentialekvationer.

Varför?

Vissa differentialekvationer kan vara ganska knepiga att lösa, men man kan ändå bilda sig en uppfattning om hur deras lösning ser ut genom att skissa ett så kallat riktningsfält. Genom att använda Eulers stegmetod kan man också beräkna approximativa funktionsvärden.

Det här programmet låter dig mata in en differentialekvation av första ordningen. Du kan sedan låta det rita lösningens riktningsfält, dvs små korta tangenter i olika punkter i planet. På så sätt kan du bilda dig en uppfattning om hur lösningskurvan ser ut.

För att beräkna funktionsvärden med Eulers stegmetod behöver du en startpunkt (x0, y0) att börja i. Du behöver också bestämma hur stora steg, Δx, du vill ta. Ju större steg desto snabbare når du målet, men det blir även större fel.

Differentialekvation:
y'(x, y) =
x0 =
y0 =
Δx =
xmin =
xmax =
ymin =
ymax =

Öppna i separat fönster 800px

Instruktioner

Börja med att skriva om din differentialekvation på formen y' = ett uttryck med x och y. Läs mer nedan om hur du skriver uttryck.

  1. I textrutan vid y'(x,y) = matar du in ditt uttryck.
  2. Klicka sedan på knappen "Rita riktningsfält".
  3. För att beräkna funktionsvärden anger du startvärdena x0, y0 och steglängden Δx i respektive fält. Klicka på "Starta om" för att bekräfta dina värden.
  4. Stega dig nu fram med knappen "Gå ett steg" och se hur lösningskurvan ritas. Är du otålig kan du istället ta tio steg i taget.
  5. För varje steg beräknas ett nytt y' och med hjälp av det ett nytt y-värde. Alla värden visas under grafen.

Om du ändrar startpunkt eller steglängd måste du klicka på "Starta om"-knappen innan du kan börja om.

Du kan ställa in koordinatsystemet med de fyra fälten längst ner. Klicka på "Uppdatera" för att det ska ändras.


Syntax för uttryck

Programmet följer de vanliga reglerna för i vilken ordning räkneoperationer ska utföras.
För decimaltal används punkt som decimaltecken.
Du kan använda följande symboler och funktioner i de uttryck du matar in:

+ för addition.
- för subtraktion och negativa tal.
* för multiplikation.
/ för division.
^ för upphöjt till.
2^3 = 23
( ) för att kunna skapa mer sammansatta uttryck.
pi π = 3.1415...
e Talet e = 2.718..., (e^2 = e2 = 7.389...).
sqrt(x) roten ur x, (x>=0).
sin(x), cos(x), tan(x) Trigonometriska funktionerna, x i radianer.
asin(x), acos(x), atan(x) Inversa trig. funktionerna.
log(x) Naturliga logaritmen för x, (x>0).
log10(x) 10-logaritmen för x, (x>0).
log(x, b) Logaritmen för x i basen b, (x>0).

För att kunna tolka och beräkna inmatade matematiska uttryck i ett program behöver man en "parser" som kan tolka matematiska uttryck och beräkna deras värde.
Denna sida använder math.js för att tolka och evaluera de matemtaiska uttrycken. mathjs.org.