Kapittel 18 Systemer av differensiallikninger I mange fysiske prosesser vil det være flere enn en størrelse som inngår. Disse størrelsene kan være avhengige av hverandre, slik at en endring av en påvirker alle de andre. Et eksempel er en matematisk modell for størrelsen på to repopulasjoner hvor den ene jakter på den andre. Færre ytter gir færre jegere, mens færre jegere fører til økning av ytterestanden, osv. Et annet eksempel er utslipp av en miljøgift i et vassdrag. Konsentrasjonen av gift i hver enkelt innsjø i vassdraget vil avhenge av konsentrasjonen i hver ovenforliggende innsjø. Vi får et koplet system der flere størrelser og deres endring står i gjensidig avhengighetsforhold til hverandre. For å lage matematiske moeller for denne type fenomener trenger vi ikke are en differensiallikning, men et system av differensiallikninger. Vi tenker oss et lite vassdrag som estår av to sjøer med en elv i mellom. Vi har tilførsel av vann fra omgivelsene til egge sjøene, og fra den nederste sjøen renner også vann ut i havet. Vannmengden i de to sjøene er konstant. Ved den øverste sjøen ligger det en farikk som regelmessig slipper ut gift i vannet. Vi kaller mengden av gift i dette vannet for x = x(t). Denne størrelse oppfyller differensiallikningen = c k 1x der c uttrykker den konstante tilførselen av gift, mens k 1 x reflekterer den mengden av forgiftet vann som renner ut av sjøen. Så eveger vi oss ned til den neste sjøen. Mengden av gift i denne sjøen kaller vi y = y(t). Endringen av giftmengden her vil være avhengig av konsentrasjonen av gift i vannet som tilføres fra den øvre sjøen, minus den giften som renner ut i havet. Dette eskrives av likningen = k 1x k y Dette gir oss et system av differensiallikninger. Vi skal se hvordan vi kan hånere slike systemer, åde analytisk og numerisk. 18.1 Lineære systemer med konstante koeffisienter Et lienært system av differensiallikninger er gitt ved = ax + y = cx + Vi gjetter på en løsning for dette systemet, på formen x(t)=c 1 e lt, y(t)=c e lt Setter vi denne løsningen inn i likiningsystemet får vi eller ved å dele ut med e lt lc 1 e lt = ac 1 e lt + C e lt lc e lt = cc 1 e lt + dc e lt lc 1 = ac 1 + C lc = cc 1 + dc Det etyr at vi må finne l, C 1 og C som passer i det lineære likningssystemet. (a l)c 1 + C = 0 cc 1 +(d l)c = 0 Vi har en opplagt løsning, nemlig C 1 = C = 0, men den er vi ikke spesielt interessert i siden den kun gir oss løsningen x = y = 0. Vi multipliserer den første 96
likningen med c, og den andre med (a dem fra hverandre. Det gir (c (a l)(d l))c = 0 l) og trekker Siden vi ikke er interessert i trivielle løsninger antar vi at C 6= 0. Det etyr at c (a l)(d l)=0 som vi omformer til en.gradslikning i l; l (a + d)l +(ad c)=0 Ved å ruke ac-formelen får vi l = a + d ± p (a + d) 4(ad c) = a + d ± p (a d) + 4c Vi kaller det som står under rottegnet for diskriminanten til likningssystemet, og skriver D =(a Det gir oss to løsninger d) + 4c l 1 = a + d + p D, l = a + d p D For hver av disse verdiene av l må vi nå løse likningssystemet Den første likningen gir mens den andre gir (a l)c 1 + C = 0 cc 1 +(d l)c = 0 C = C = (a l) C 1 c (d l) C 1 Men siden vi har regnet ut verdien av l fra likningen c (a l)(d l)=0 følger det at (a l) = c (d l) og de to likningene gir oss samme svar. Før vi går videre med løsningen av differensiallikningssystemet skal vi introdusere det såkalte superposisjonsprinsippet. I matematisk språk sier dette at dersom vi har funnet to løsninger av et system av lineære differensiallikninger, så vil også summen av de to løsningene også være en løsning av systemet. Et fysisk eksempel på dette prinsippet er at ølger kan passere uforandret gjennom hverandre. Hvis vi har to separate kilder som genererer ølger, f.eks. lydølger, så kommer ølgene uforandret ut på den andre siden etter at de har møttes. Nå vi snakker i munnen på hverandre, så lir ikke lydene påvirket av hverandre. Ivårt eksempel etyr dette at vi kan finne de to løsningene hver for seg, for så å legge dem sammen og i parksis finne mange flere løsninger. Teorem 18.1.1. Et lienært system av differensiallikninger gitt ved = ax + y = cx + og hvor 6= 0, har løsninger gitt ved x(t)=ce l 1t + De l t y(t)= (a l 1) Ce l (a l 1t ) De l t hvor C og D er vilkårlige konstanter. Størrelsene l 1 og l er gitt ved hvor D =(a l 1 = a + d + p D, l = a + d p D d) +4c er diskriminanten til likningen. De to konstantene C og D er å etrakte som integrasjonskonstanter og vil alltid li estemt av initialverdiene til systemet, f.eks. gitt ved verdiene x(0) og y(0). Vi skal se på noen eksempler. Eksempel 18.1.1. Betrakt likningssystemet = x + y = 3x y der x(0) =, y(0) = 5. I dette tilfellet har vi a =, = 1, c= 3 og d =. Det gir diskriminanten D =( + ) + 4 1 ( 3)=4 97
Det gir l 1 = + p 4 = 1 l = p 4 som vi setter inn i formelen over og får x(t)=ce t + De t y(t)= Ce t 3De t Setter vi inn for t = 0 får vi x(0)=c + D = y(0)= C 3D = 5 = 1 som gir C = 1 og D = 3. Det gir oss den spesielle løsningen x(t)= 1 et + 3 e t y(t)= 1 et 9 e t Figur 18.1. Vektorfelt med løsningskurve for eksempel 18.1.1 MATLAB-koden til illustrasjonen over er som følger: [x,y]=meshgrid(0:0.5:7,-7:0.5:-1); u = *x + y; v = -3*x - *y; quiver(x,y,u,v); hold on t=linspace(-0.5,.5,100); x1=(1/)*exp(t)+(3/)*exp(-t); x=-(1/)*exp(t)-(9/)*exp(-t); plot(x1,x, r ) Vi skal se på et litt mer komplisert eksempel, der hvor diskriminanten D er negativ, slik at løsning av.gradslikningen ilr komplekse tall. Eksempel 18.1.. Betrakt likningssystemet = x y = x y der x(0) =1, y(0) =. I dette tilfellet har vi a = 1, =, c= og d = 1. Det gir diskriminant Det gir D =( 1 + 1) + 4 ( ) = 16 l 1 = 1 1 + p 16 = 1 + i l = 1 1 p 16 = 1 i som vi setter inn i formelen over og får x(t)=ce ( 1+i)t + De ( 1 i)t y(t)= ice ( 1+i)t + ide ( 1 i)t I dette tilfellet må vi la konstantene C og D være komplekse tall. Vi setter C = E + if og D = G + ih, og ruker samtidig formelen e ix = cosx + isinx. I tillegg har vi at cos( t)=cos(t) og sin( t)= sin(t). Det gir x(t)=(e + if)e t (cos(t)+isin(t)) +(G + ih)e t (cos( t)+isin( t)) = e t ((E + G)cos(t)+( F + H)sin(t)) + ie t ((F + H)cos(t)+(E G)sin(t)) Tilsvarende utregning for y(t) gir y(t)= i(e + if)e t (cos(t)+isin(t)) + i(g + ih)e t (1 i)t (cos( t)+isin( t))e = e t ((F H)cos(t)+(E + G)sin(t)) + ie t (( E + G)cos(t)+(F + H)sin(t)) Vi er kun interessert i reelle løsninger. Det etyr at vi må ha F + H = E G = 0. Dermed får vi x(t)=e t (E cos(t) F sin(t)) y(t)=e t (F cos(t)+e sin(t)) 98
Setter vi inn for t = 0 får vi x(0)=e = 1, y(0)=f = som gir E = 1 og F = 1. Det gir oss den spesielle løsningen x(t)=e t (cos(t) sin(t)) y(t)=e t (cos(t)+sin(t)) størrelsen vokse mot når t vokser. Dersom l 1,l apple 0 vil åde x og y gå mot en fast grense. I alle tilfelle vil (0,0) være en likevektstilstand, siden = = 0 i dette punktet. I det første tilfellet sier vi at vi har en ustail likevektstilstand, siden et lite avvik fra likevektstilstanden vil ringe systemet vekk fra likevektspunktet. Det andre tilfellet kalles en stail likevektstilstand, for der er det motsatte tilfellet. Når diskriminanten er negativ får vi et nokså annerledes forløp. Løsningene av differensiallikningssystemet vil alltid være på formen x(t)=e at (C 1 cos(t)+c sin(t)) y(t)=e at (D 1 cos(t)+d sin(t)) Figur 18.. Vektorfelt med to løsningskurver for eksemplet over MATLAB-koden til illustrasjonen over er som følger: [x,y]=meshgrid(-:0.5:7,-1:0.5:5); u = -x -*y; v = *x -y; quiver(x,y,u,v); hold on t=linspace(-0.5,4,100); x1=exp(-t).*(*cos(*t)-4*sin(*t)); x=exp(-t).*(4*cos(*t)+*sin(*t)); plot(x1,x, r ) streamline(x,y,u,v,6,1); De to eksemplene vi har sett på skiller seg fra hverandre ved fortegnet på diskriminanten. Når diskriminanten er positiv vil vi alltid få en løsning på formen x(t)=c 1 e l 1t +C e l t y(t)=d 1 e l 1t + D e l t Dersom den største av l 1 og l er positiv, og den tilhørende koeffisisenten er forskjellig fra 0, så vil denne for to reelle tall a = a+d og =. Uttrykkene estår av to faktorer, en harmonisk funksjon, og en eksponensialfunksjon. Vi kan etrakte eksponensialfunksjonen som en amplitudefunksjon som estemmer om den harmoniske funksjonen gir oss en sprial som går utover, innover, eller som faktisk stailiserer seg på en fast ane. Et eksempel på det siste er det lineære likningssystemet = = x + y x + y I dette tilfellet har vi D =( 1 1) +4 1 ( )= 4 og l = 1 + 1 ± p 4 Det vil gi oss en løsning på formen p = ±i x(t)=c 1 cost +C sint y(t)=d 1 cost + D sint som eskriver en konstant, elliptisk ane i (x,y)-planet. D 99
edre tilnærminger til funksjonene x i. Vi skal se på noen eksempler som illustrerer at metoden gir gode resultater. Vi etrakter systemet = x y = x y Figur 18.3. En periodisk løsning. 18. Eulers metode I forrige kapittel så vi hvordan vi kunne ruke Eulers metode til å illustrere løsninger av differensiallikninger uten at vi kjenner noen eksplisitt form for løsningene. Vi kan ruke samme framgangsmåte for å illustrere løsningene til mer omfattende differensiallikningssystemer. La 1 = f 1 (x 1,x,...,x m,t) = f (x 1,x,...,x m,t)... m = f m (x 1,x,...,x m,t) være et system av differensiallikninger med initialetingelse x i (0)= i for i = 1,,...,m. Vi etrakter et intervall [0,a] av t-verdier som vi deler opp i n like store deler. Vi setter t j = ja n for j = 0,1,,...,n og definerer og rekursivt x i,0 = x i (0)= i, i = 0,1,,...,m x i, j+1 = x i, j + x 0 i(t j ) a n = x i, j + f i (x i, j,t j ) a n Dette gir oss stykkvis lineære funksjoner definert av knekkpunktene (t j,x i, j ).Når vi øker antall delintervaller n vil disse stykkvis lineære funksjonene gi oss stadig der x(0)=1, y(0)= som vi så på i eksempel 18.1.. Vi skal etrakte intervallet [0,10] som vi deler i n like store deler. I dette tilfelle får vi rekursjonen x j+1 = x j +( x j y j ) 10 n y j+1 = y j +(x j y j ) 10 n Denne algoritmen kan vi enkelt implentere i f.eks. MATLAB på følgende måte: t0=0; tf:10; (definerer intervallet) x0=1; (setter startverdien til x) y0=; (setter startverdien til y) n=1000; (antall delintervaller) h=(tf-t0)/n; (redden av hvert delintervall) t=t0; T=t; (initierer t-kolonnen) x=x0; X=x; (initierer x-kolonnen) y=y0; Y=y; (initierer y-kolonnen) for i=1:n (algoritmen egynner) z=x; x=x+h*(-x-*y); y=y+h*(*z-y); t=t+h; T=[T;t]; X=[X;x]; Y=[Y;y]; end (algoritmen slutter) plot(x,y) (utskrift) 100
Figur 18.4. Utskriften gir oss en illustrasjon av grafen. 101