Systemer av diferensiallikninger
Man kan skrive om n-te ordens differensiallikninger til systemer av første-ordens differensiallikninger. Dette er veldig praktisk, både fordi det gjør det mulig å løse andre-ordens differensiallikninger numerisk med Eulers metode, og fordi det gjør det mulig å løse differensiallikninger av høyere orden enn andregrad. Vi vil nå vise hvordan dette kan brukes til å løse andregrads differensiallikninger, men samme metode kan også brukes for differensiallikninger av høyere grad. Det kan være litt mye å ta inn, så jeg anbefaler at du skriver ned regnestykket samtidig som du leser for å være sikker på at du forstår alt.
En andregrads differensiallikning ser slik ut:
\(\ddot x + b \dot x + cx = 0\)
Skritt 1: Gjør om differensiallikningen til et system av førstegrads differensiallikninger
For å gjøre notasjonen enklere, lager vi to nye variabler:
\(z_1 = x\)
\(z_2 = \dot x\)
Nå er neste skritt å skrive opp den deriverte for \(z_1\) og \(z_2\):
\(\dot{z_1} = \dot{x} = z_2 \)
\(\dot{z_2} = \ddot{x} = -b \dot x – cx = -bz_2 -cz_1 \)
(\(\ddot{x} = -b \dot x – cx\) får man ved å om den originale differensiallikningen)
Som du kanskje ser, har vi nå skrevet om differensiallikningen til et system med to differensiallikninger:
\(\dot{z_1} = z_2 \)
\(\dot{z_2} = -bz_2 -cz_1 \)
Siden det er et likningssett, vil vi gjerne skrive det på matriseform. Når vi skriver dette likningssettet på matriseform får vi:
\( \begin{bmatrix} \dot{z_1} \\ \dot{z_2} \end{bmatrix} = \begin{bmatrix} 0 & 1 \\ -c & -b \end{bmatrix} \begin{bmatrix} z_1 \\ z_2 \end{bmatrix} \)
Hvis vi kaller vektoren på venstre side for \(dot{z}\), matrisen for \(A\) og vektoren på høyre side for \(z\), kan vi skrive denne likningen som:
\( \dot{z}=Az\)
Skritt 2: Anta løsning for \(z_1\) og \(z_2\)
Nå antar vi at \(z_1\) og \(z_2\) er på formen:
\(z_1 = C_1e^{\lambda t} \)
\(z_2 = C_2e^{\lambda t} \)
Vi kan sette sammen \(z_1\) og \(z_2\) til en vektor \(z = \begin{bmatrix} C_1e^{\lambda t} \\ C_2e^{\lambda t} \end{bmatrix} \)
Grunnen til at vi antar dette, er at da får vi:
\( \dot{z} = \begin{bmatrix} \dot{z_1} \\ \dot{z_2} \end{bmatrix} = \begin{bmatrix} (\dot{ C_1e^{\lambda t} }) \\ (\dot{ C_2e^{\lambda t} }) \end{bmatrix} = \begin{bmatrix} \lambda C_1e^{\lambda t} \\ \lambda C_2e^{\lambda t} \end{bmatrix} = \lambda \begin{bmatrix} C_1e^{\lambda t} \\ C_2e^{\lambda t} \end{bmatrix} = \lambda z \)
Dette gir likningen:
\(\dot{z} = \lambda z\)
Hvis vi drar ut \(e^{\lambda t}\) fra vektoren \(z\), kan vi skrive det som:
\(\dot{z} = \lambda e^{\lambda t} v\)
Der \(v\) er en vektor med de to konstantene \(C_1\) og \(C_2\)
Skritt 3: Sett sammen skritt 1 og 2
Vi har nå kommet frem til to utrykk for \(\dot{z}\):
- \(\dot{z} = Az\)
- \(\dot{z} = \lambda e^{\lambda t} v \)
Hvis vi setter sammen disse utrykkene, får vi likningen:
\( Az = \lambda e^{\lambda t} v \)
I skritt 2 sa vi at \(z= \begin{bmatrix} C_1e^{\lambda t} \\ C_2e^{\lambda t} \end{bmatrix} = e^{\lambda t} v \). Dette setter vi inn for z og får:
\( A e^{\lambda t} v = \lambda e^{\lambda t} v \)
Siden \(e^{\lambda t}\) er et tall (ikke en vektor), kan vi dele på det på begge sider for å forenkle likningen til:
\(A v = \lambda v\)
Denne likningen kan skrives om til: (Se temaside om egenvektor)
\( (A-\lambda I)v=0 \)
Nå kjenner du kanskje igjen at dette er samme likning som brukes for å finne egenverdier og egenvektorer til en matrise! \(\lambda\) er egenverdien til matrisen \(A\), og \(v\) er egenvektoren! Da kan vi bare bruke samme metode som det vi gjør når vi skal finne egenvektorer og egenverdier for å finne \(\lambda\) og \(v\) (Se «Egenvektorer og egenverdier»). Siden \(A\) er en 2x2 matrise, vil vi i de fleste tilfeller få to egenverdier, \(\lambda_1\) og \(\lambda_2\), og to korresponderende egenvektorer, \(v_1\) og \(v_2\).
I skritt 2 antok vi at løsningen er på formen \(z=e^{\lambda t}v\) (der v er en vektor med de to konstantene \(C_1\) og \(C_2\)). Hvis vi nå setter inn \(\lambda_1\), \(\lambda_2\), \(v_1\) og \(v_2\) får vi to løsninger:
\( z = e^{\lambda_1 t}v_1 \wedge z = e^{\lambda_2 t}v_2 \)
Siden dif-likningen vi løser er lineær, kan vi kombinere disse to løsningene til en løsning:
\( z(t) = Ae^{\lambda_1 t}v_1 + Be^{\lambda_2 t}v_2 \)
Der \(A\) og \(B\) er vilkårlige konstanter.
Numerisk løsning av sett med differensiallikninger
En annen fordel med å skrive om differensiallikninger av høyere grad til sett av førstegrads differensiallikninger er at man da kan løse dem med numeriske metoder som Eulers metode. Dersom vi har et system av differensiallikninger:
\(\dot{z_1} = f(z_1,z_2) \)
\(\dot{z_2} = g(z_1,z_2) \)
med initialkrav:
\(z_1(0)=k_1 \)
\( z_2(0)=k_2\)
blir Eulers eksplisitte metode:
\(z_{1(n+1)}=z_{1(n)}+hf(z_{1(n)}, z_{2(n)}) \)
\( z_{2(n+1)}=z_{2(n)}+hg(z_{1(n)}, z_{2(n)}) \)
Eksempel: Løs differensiallikningen \(\ddot{x} +2x^2\dot{x} – 2\dot{x} + x = 0\) med initialkrav \(x(0) = 1\) og \(\dot{x}(0)=0\) numerisk:
For å gjøre notasjonen enklere, lager vi to nye variabler:
\(z_1 = x\)
\(z_2 = \dot x\)
Nå er neste skritt å skrive opp den deriverte for \(z_1\) og \(z_2\):
\(\dot{z_1} = \dot{x} = z_2 \)
\(\dot{z_2} = \ddot{x} = -2x^2\dot{x} + 2\dot{x} - x = -2z_1^{2}z_2 +2z_2-z_1 \)
Nå har vi to førsteordens differensiallikninger, og vi kan løse dem med Eulers eksplisitte metode: