Matematik

Løsning af en ligning

19. december 2007 af tomlyn (Slettet)
Jeg vil vise at en ligning kan løses numerisk, med en 2 ordens Runge Kutta metode. Derfor har jeg valgt en ligning hvortil der findes en analytisk løsning. Men...

dy/dt=ky så er:
y=ce^kt

Jeg vælger så bare at k=pi og y(0)=1
derfor bliver løsningen y=e^pi*t

Hvis jeg vil løse den med Runge Kutta, så er dette givet:

y(t+dt)=y(y)+½(k1+k2)

hvor

k1=dt*f(t,y) og
k2=dt*f(t+dt,y+k1)

Jeg vælge min skridtlængde til 0,1
og giver mig til at beregne:

k1=dt*k*y0
k1=0,1*pi*1
k1=0,31416

k2=dt*f(t+dt,y+k1)
men hvordan beregner jeg videre herfra?

Brugbart svar (0)

Svar #1
19. december 2007 af peter lind

Det skriver du faktisk selv hvordan man gør:
y(t+dt) = y(t) +½(k1+k2)

Svar #2
19. december 2007 af tomlyn (Slettet)

Ja.. men der hvor jeg går i stå, er ved selve beregningen af k2. Hvad er t+dt?

Brugbart svar (0)

Svar #3
19. december 2007 af peter lind

Ligesom da du fandt k1. Nu skal du bare erstatte y0 med y0+k1

Svar #4
19. december 2007 af tomlyn (Slettet)

Men går hvor bliver t+dt af? Jeg undgår den jo så at sige i k1 fordi jeg bare sætter ligningen ind, men hvordan tillægger jeg dt?

Svar #5
19. december 2007 af tomlyn (Slettet)

ok prøver lige at fortsætte...

k2=dt*f(t+dt,y+k1)<=>
k2=0,1*pi*1*0,31416<=>
k2=0,09870

og så

y(t+dt)=y(t)+½(k1+k2)
y(t+dt)=1+½(0,31426+0,09870)
y(t+dt)=1,20643

?

Svar #6
19. december 2007 af tomlyn (Slettet)

nej...

k2=dt*f(t+dt,y+k1)<=>
k2=0,1*pi*1+0,31416<=>
k2=0,4129

og så

y(t+dt)=y(t)+½(k1+k2)
y(t+dt)=1+½(0,31426+0,4129)
y(t+dt)=1,36353...

Svar #7
19. december 2007 af tomlyn (Slettet)

jeg tror den sidder nu, tak

Skriv et svar til: Løsning af en ligning

Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk? Klik her for at oprette en bruger.