3 svar
707 visningar
Minounderstand behöver inte mer hjälp
Minounderstand 154
Postad: 28 jul 2017 15:19 Redigerad: 28 jul 2017 15:19

Euler Framåt: Problem att förstå notationen.

Läser en grundkurs i numerisk analys och har lite problem med att förstå notationen för Euler Framåt.

Så formeln som presenterats för mig ser ut på följande vis och kan härledas från derivatans definition om jag förstått det rätt.

xk+1=xk+h·f(xk)

Så som jag har förstått det kan denna användas för att approximera en efterföljande lösning om man redan har en lösning, men med steglängd h eller dx.

Hur gör jag dock för att använda denna i praktiken? Om xk är själva lösningen, vad menas då med f(xk) t.ex?

 

Skulle behöva en riktig ELI5-förklaring om någon har lust,

tack på förhand!

Stokastisk 3597 – Fd. Medlem
Postad: 28 jul 2017 15:39

Det går inte att härleda den där formeln från derivatans definition, utan det går bara att hämta inspiration från definitionen.

Tanken är alltså att vi har en differentialekvation

y'(t) =f(y), y(0)=y0

Där f(y) är någon funktion. För att hitta en approximativ lösning till denna ekvation så gör vi så att vi bara beräknar lösningen vid vissa tidpunkter. Vid t = 0, t = h, t = 2h, t = 3h, osv. Approximationen vid tidpunkten hk betecknar vi med xk. Eftersom vi vet att y(0) =y0 så sätter man x0=y0 och sedan beräknar vi x1,x2,x3,x4,... med hjälp av den där formeln.

Ett exempel är om f(y) = y och y0=1. Då låter vi alltså x0=1 och vi kan välja ett tidssteg, säg h = 0.1, vilket ger att

x1=x0+0.1*f(x0) =1 + 0.1*f(1)=1 + 0.1*1 =1.1

sedan får man

x2=x1+0.1 * x1=1.1 + 0.1*1.1 =1.21.

Så approximativt kommer lösningen vid tidpunkten 0.1 vara 1.1 och vid tidpunkten 1.21 kommer den vara 1.21. Vill vi fortsätta beräkna lösningen under fler tidpunkter så är det bara att fortsätta beräkningarna.

Albiki 5096 – Fd. Medlem
Postad: 28 jul 2017 21:00

Hej!

Du har en differentialekvation

    X'(t)=f(X(t)) \displaystyle X'(t) = f(X(t))

som du vill lösa över tidsintervallet 0tT. 0 \leq t \leq T. Om funktionen f f är icke-linjär (till exempel en sinusfunktion) så är det ofta omöjligt att finna exakta lösningar till ekvationen; istället får man nöja sig med approximativa lösningar.

Börja med att dela in tidsintervallet i delintervall (som inte behöver vara lika långa).

    t0t1t2tn \displaystyle t_{0} \leq t_{1} \leq t_{2} \leq \cdots \leq t_{n} där t0=0 t_{0} = 0 och tn=T. t_{n} = T.

Vid varje tidpunkt ( tk t_{k} ) vill du bestämma en approximation ( xk x_k ) till funktionsvärdet X(tk) X(t_{k}) . Enligt Lagranges medelvärdessats gäller det att

    X(tk+1)-X(tk)=X'(c)·(tk+1-tk) \displaystyle X(t_{k+1}) - X(t_{k}) = X'(c) \cdot (t_{k+1}-t_{k})

för något tal c c som ligger mellan tidpunkterna tk t_{k} och tk+1 t_{k+1} ; Eulers framåtmetod bygger på att välja c=tk+1 c = t_{k+1} och Eulers bakåtmetod väljer c=tk c = t_{k} . För de approximativa funktionsvärdena betyder detta att

    xk+1-xk=f(xk+1)·(tk+1-tk), \displaystyle x_{k+1} - x_{k} = f(x_{k+1}) \cdot (t_{k+1}-t_{k}),

där jag ersatt derivatan X'(tk+1) X'(t_{k+1}) med talet f(X(tk+1)) f(X(t_{k+1})) enligt differentialekvationen, och sedan approximerat f(X(tk+1)) f(X(t_{k+1})) med talet f(xk+1) f(x_{k+1}) . Eulers framåtmetod för att finna approximationer till differentialekvationen X'(t)=f(X(t)) X'(t) = f(X(t)) är alltså

    xk+1=xk+f(xk+1)·(tk+1-tk) \displaystyle x_{k+1} = x_{k} + f(x_{k+1}) \cdot (t_{k+1}-t_{k}) där k=0,1,2,...,(n-1) k = 0,1,2,..., (n-1) .

Eftersom funktionen f f är icke-linjär så måste man lösa en icke-linjär ekvation för att finna talet xk+1 x_{k+1} ; detta kan vara komplicerat.

Eulers bakåtmetod för att finna approximationer är

    xk+1=xk+f(xk)·(tk+1-tk). \displaystyle x_{k+1} = x_{k} + f(x_{k}) \cdot (t_{k+1}-t_{k}).

Här behöver man inte lösa någon icke-linjär ekvation för att finna talet xk+1 x_{k+1} , utan det är bara att stoppa in talet xk x_{k} och räkna ut vad högerledet xk+f(xk)·(tk+1-tk) x_{k} + f(x_{k}) \cdot (t_{k+1}-t_{k}) är.

Albiki

Minounderstand 154
Postad: 29 jul 2017 10:50

Tack som fan Stokastisk och Albiki, tror att jag börjar förstå hur det hänger ihop nu!

Svara
Close