Differensligninger og populationsstørrelser Søren Højsgaard Department of Mathematical Sciences Aalborg University, Denmark October 5, 2014 Printed: October 5, 2014 File: differensligninger-slides.tex
2 Contents 1 Modeller for udviklingen af en populations størrelse 4 2 Befolkning 1960 nu 5 2.1 Bangladesh..................................... 5 2.2 Congo........................................ 6 2.3 Ghana........................................ 7 2.4 Irland......................................... 8 2.5 Nepal......................................... 9 2.6 Rusland....................................... 10 2.7 USA......................................... 11 3 Befolkning historisk 12 3.1 Befolkningen i USA................................. 12 3.2 Befolkningen i Irland................................ 13 4 En model for udviklingen af en populations størrelse 14 5 Øvelse 17 5.1 Løsning........................................ 18 6 Undgå at populationen uddør 20 7 Øvelse 21 7.1 Løsning........................................ 22 8 Matematisk løsning - den homogene ligning 25
3 9 Matematisk løsning - den inhomogene ligning 30 9.1 Den geometriske række............................... 33 9.2 Tilbage til løsningen................................ 36 10 Følger befolkningsudviklingen den homogene model 40
4 1 Modeller for udviklingen af en populations størrelse Vi skal studere modeller for udvikling af en poulations størrelse over flere år. Det kan f.eks. være antal fugle af en bestemt art i et bestemt område, eller antal personer i en befolkning i et bestemt land.
5 2 Befolkning 1960 nu 2.1 Bangladesh Befolkningen i Bangladesh 60 80 100 140 1960 1970 1980 1990 2000 2010
6 2.2 Congo Befolkningen i Congo 1000 2000 3000 4000 1960 1970 1980 1990 2000 2010
7 2.3 Ghana Befolkningen i Ghana 10000 20000 1960 1970 1980 1990 2000 2010
8 2.4 Irland Befolkningen i Irland 3000 3500 4000 4500 1960 1970 1980 1990 2000 2010
9 2.5 Nepal Befolkningen i Nepal 10 15 20 25 30 1960 1970 1980 1990 2000 2010
10 2.6 Rusland Befolkningen i Rusland 120000 130000 140000 1960 1970 1980 1990 2000 2010
11 2.7 USA Befolkningen i USA 180000 240000 300000 1960 1970 1980 1990 2000 2010
12 3 Befolkning historisk 3.1 Befolkningen i USA Befolkningen i USA 0 50 150 250 1800 1850 1900 1950 2000
13 3.2 Befolkningen i Irland Befolkningen i Irland 1 2 3 4 5 6 7 8 1650 1700 1750 1800 1850 1900 1950
14 4 En model for udviklingen af en populations størrelse Vi lader x[n] betegne antal individer i en population i år n. Vi skal se på modeller for hvordan populationen udvikler sig, dvs en model for sammenhængen mellem x[0]; x[1]; x[2]; : : : Et eksempel på en (homogen) førsteordens differensligning er x[n] = x[n ` 1] + rx[n ` 1] = (1 + r)x[n ` 1] Altså, populationsstørrelsen x[n] i år n er proportional med (en konstant gange) populationsstørrelsen eet år tidligere, x[n ` 1].
15 Af x[n] = x[n ` 1] + rx[n ` 1] fås også en anden fortolkning: x[n] ` x[n ` 1] = rx[n ` 1] Altså, ændringen i populationsstørrelsen x[n] ` x[n ` 1] fra år n ` 1 til år n er proportional med populationsstørrelsen i år n ` 1.
16 Vi ser på en fiktiv population af fugle i et bestemt område. Antag at der i starten er x[0] = 100 fugle og at vækstraten er r = 0:0194 (eller 1:94%) om året. I år 1 er der x[1] = x[0] + 0:0195x[0] = 101:9 ı 102 fugle. I år 2 vil der være x[2] = x[1] + 0:0195x[1] = 103:9 fugle osv. Der er flere ting på programmet: Vi skal studere sådanne modeller med et regneark Vi skal undersøge sådanne modeller rent matematisk Vi skal se om sådanne modeller passer rimeligt på befolkningsstørrelserne
17 5 Øvelse Det er nemt at studere sådanne populationsmodeller med et regneark, og det skal vi gøre i det følgende. Spørgsmål: 1. Undersøg udviklingen af populationsstørrelsen over 20 år med 3 forskellige vækstrater: r 1 = 0:0194 (bedst), r 2 = `0:0324 (medium) og r 3 = `0:0482 (dårligst) når der til en start er 100 fugle i populationen. 2. Ligner vækstkurverne rette linier? 3. Hvad sker der med poplationsstørrelserne hvis man ser over en længere årrække, f.eks. 100 år? 4. Findes der værdier af r, der helt klart giver en vækstkurve, der er en ret linie
18 5.1 Løsning 40 60 80 100 140 0 5 10 15 20
19 0 200 400 600 0 20 40 60 80 100
20 6 Undgå at populationen uddør Ovenfor har I formentlig (forhåbentlig) konkluderet, at positive vækstrater fører til at populationen eksploderer og negative vækstrater til at populationen uddør. Hvis vækstraterne er negative og man alligvel ønsker at bevare populationen, så bliver man nødt til jævnligt at tilføre nye fugle til populationen. Lad os antage, at vi tilfører a = 5 fugle til populationen hvert år. Så bliver modellen x[n] = x[n ` 1] + rx[n ` 1] + a = (1 + r)x[n ` 1] + a På grund af leddet a i ligningen kaldes sådan en ligning for in inhomogen 1. ordens differensligning.
21 7 Øvelse 1. Undersøg udviklingen af populationsstørrelsen over 100 år med 2 forskellige vækstrater: r 2 = `0:0324 (medium) og r 3 = `0:0482 (dårligst) når der til en start er 100 fugle i populationen og der hvert år tilføjes a = 5 fugle. Ser det ud til at populationen stabiliserer sig? 2. Undersøg udviklingen i populationsstørrelsen for forskellige (heltallige) værdier af a. Vil populationen altid stabilisere sig? Hvad er det mindste antal fugle man kan tilføje således at populationen ikke falder under startniveauet på x(0) = 100 fugle. 3. Betragt en mellemste vækstrate r 2 = `0:0324 og lad os vedtage, at der tilføjes a = 5 fugle til populationen hvert år. Hvorledes populationsstørrelsen udvikler sig over f.eks. 100 år hvis x(0) = 50, hvis x(0) = 100 og hvis x(0) = 200. Overrasker dette?
22 7.1 Løsning rød: r 2 = `0 ` 0324; grøn: r 3 = `0:0482. a = 5 a = 4 100 130 90 110 0 50 100 150 200 0 50 100 150 200 70 90 a = 3 40 70 100 a = 2 0 50 100 150 200 0 50 100 150 200
23 50 150 250 r = 0.0324, x[0] = 50 50 150 250 r = 0.0324, x[0] = 100 0 50 100 150 200 0 50 100 150 200 50 150 250 r = 0.0324, x[0] = 200 50 150 250 r = 0.0324, x[0] = 250 0 50 100 150 200 0 50 100 150 200
24 50 150 250 r = 0.0482, x[0] = 50 50 150 250 r = 0.0482, x[0] = 100 0 50 100 150 200 0 50 100 150 200 50 150 250 r = 0.0482, x[0] = 200 50 150 250 r = 0.0482, x[0] = 250 0 50 100 150 200 0 50 100 150 200
25 8 Matematisk løsning - den homogene ligning Vi skal nu finde et matematisk udtryk for løsningen på differensligningen x[n] = x[n ` 1] + rx[n ` 1] = (1 + r)x[n ` 1] For at gøre notationen lidt lettere indfører vi b = 1 + r og har så x[n] = bx[n ` 1] Vi prøver at regne de første led ud x[1] = bx[0] x[2] = bx[1] = b(bx[0]) = b 2 x[0] x[3] = bx[2] = b(b 2 x[0]) = b 3 x[0]
26 Baseret på dette kunne man formode, at løsningen er ~x[n] = b n x[0] for alle n > 0 Bemærk at løsningen til differensligningen er en funktion. Vi kan bevise at dette er rigtigt, og det kan gøres på mange måder. Een er som følger. Sæt den formodede løsning ind i den oprindelige ligning x[n] = bx[n ` 1]. Sætter vi den formodede løsning ind på højresiden af den oprindelige ligning får vi b~x[n ` 1] = b(b n`1 x[0]) = b n x[0] = ~x[n] Den formodede løsning er altså en løsning. Der er en lille ekstra tvist her: Vi har fundet en løsning; men vi ved ret beset ikke om der er flere. Det er der ikke, men det går vi ikke nærmere ind på.
27 Bemærk: Vi har fundet ud af, at løsningen til ligningen x[n] = bx[n ` 1]; n > 0 Den ubekendte er her ikke et tal men en funktion. Løsningen er netop funktionen (vi gider ikke skrive ~x[n]; nøjes med at skrive x[n]): x[n] = b n x[0]
28 Med det matematiske udtryk har vi nu forstået det hele. Husk at b = r + 1 hvor r er vækstraten: Hvis b > 1 (dvs r > 0) vokser populationen ubegrænset. Hvis b = 1 (dvs r = 0) er populationen konstant Hvis 0 < b < 1 (dvs `1 < r < 0) dør populationen ud Men - hvad nu, hvis `1 < b < 0? og hvis b = `1? og hvis b < `1?
29 50 50 b = 0.5 100 0 100 b = 1 0 5 10 15 20 0 5 10 15 20 600 0 600 b = 1.1 0 5 10 15 20
30 9 Matematisk løsning - den inhomogene ligning Dernæst skal vi se på løsningen til x[n] = x[n ` 1] + rx[n ` 1] + a = (1 + r)x[n ` 1] + a Igen sætter vi b = 1 + r og får x[n] = bx[n ` 1] + a. Vi prøver at regne de første led ud: x[1] = bx[0] + a x[2] = bx[1] + a = bfbx[0] + ag + a = b 2 x[0] + ba + a x[3] = bx[2] + a = bfb 2 x[0] + ba + ag + a = b 3 x[0] + b 2 a + ba + a x[4] = bx[3] + a = bfb 3 x[0] + b 2 a + ba + ag + a = b 4 x[0] + b 3 a + b 2 a + ba + a
31 Vi kan se et mønster her, og det er fristende at gætte på, at løsningen til ligningen er ~x[n] = b n x[0] + (b n`1 + b n`2 + b n`3 + + b 2 + b 1 + 1)a Er dette udtryk løsning til ligningen x[n] = bx[n ` 1] + a? Vi sætter ind: b~x[n ` 1] + a = bb n`1 x[0] + b (b n`2 + b n`3 + b n`4 + + b 2 + b 1 + 1)a! + a = b n x[0] + (b n`1 + b n`2 + b n`3 + + b 2 + b 1 )a + a = b n x[0] + (b n`1 + b n`2 + b n`3 + + b 2 + b 1 + 1)a = ~x[n] Svaret er altså ja; vi har fundet en løsning (igen burde vi vise, at der kun er een løsning - men det er der altså!)
32 Vi kan simplificere formlen for løsningen ved at finde et simpelt udtryk polynomiet b n`1 + b n`2 + b n`3 + + b 2 + b 1 + 1 Til dette formål skal vi bruge den geometriske række.
33 9.1 Den geometriske række For et tal b og et heltal p > 0 kaldes nedenstående den geometriske række: S p = 1 + b + b 2 + b 3 + + b p Vi kan finde en simpel formel for den geometriske række. Vi beregner bs p = b + b 2 + b 3 + b 4 + + b p+1 Heraf fremgår at S p ` bs p = (1 ` b)s p = 1 ` b p+1 Når b 6= 1 har vi S p = 1 ` bp+1 1 ` b Når b = 1 har vi S p = p + 1
34 0.0 0.4 0.8 b = 0.5 0.0 1.0 2.0 b = 0.5 0 5 10 15 20 0 5 10 15 20 b = 1.5 b = 1.5 0 3000 1000 500 0 5 10 15 20 0 5 10 15 20
35 Fra grafer og formlen S p = 1 ` bp+1 1 ` b kan vi umiddelbart spotte hvad der sker mede S p når p! 1 at når jbj < 1 så går S p mod at når b > 1 så går S p mod 1 1 1 ` b at når b < `1 så svinger S p men js p j går mod 1.
36 9.2 Tilbage til løsningen Dermed har vi x[n] = b n x[0] + (b n`1 + b n`2 + b n`3 + + b 2 + b 1 + 1)a = b n x[0] + 1 ` bn 1 ` b! a Hvis jbj < 1 vil x[n] = b n x[0] + 1 ` bn 1 ` b! a for store n nærme sig x[n] = b n x[0] +! 1 a 1 ` b
37 Nu har vi forstået det hele. Husk at b = r + 1 så r = b ` 1. x[n] = b n x[0] + 1 ` bn 1 ` b Se på situationen hvor `1 < r < 0; altså b < 1. (vækstraten er negativ men ikke større end `100% - altså at populationen ville uddø hvis vi ikke sætter nye fugle ind). I dette tilfælde vil b n x[0] blot gå mod 0 når n vokser. Men det andet led vil stabilisere sig på 1 1 ` b I vores konkrete tilfælde får vi: > r2<- -0.0324; a<-5 > a*(1/(-r2)) [1] 154.321 > r3<- -0.0482; a<-5 > a*(1/(-r3)) [1] 103.7344! a = 1`r! a! a
38 Sammenlign disse tale med graferne fra tidligere! 50 150 250 r = 0.0324, x[0] = 50 50 150 250 r = 0.0324, x[0] = 100 0 50 100 150 200 0 50 100 150 200 50 150 250 r = 0.0324, x[0] = 200 50 150 250 r = 0.0324, x[0] = 250 0 50 100 150 200 0 50 100 150 200
39 50 150 250 r = 0.0482, x[0] = 50 50 150 250 r = 0.0482, x[0] = 100 0 50 100 150 200 0 50 100 150 200 50 150 250 r = 0.0482, x[0] = 200 50 150 250 r = 0.0482, x[0] = 250 0 50 100 150 200 0 50 100 150 200
40 10 Følger befolkningsudviklingen den homogene model Befolkningen i USA 0 50 150 250 1800 1850 1900 1950 2000 Løsningen til 1. ordens differensligningen er x[n] = b n x[0]; n > 0
41 Tag logaritmen på begge sider log(x[n]) = n log b + log(x[0]) Lad y[n] = log(x[n]), c = log b og d = log(x[0]). Så står der y[n] = cn + d Her står bare, at tegner man log(x[n]) mod n så skal man se en ret linie med hældning c = log b og skæring d = log(x[0]).
42 2 3 4 5 1800 1850 1900 1950 2000 > mm<-lm(log(pop)~year, data=dat) ## mindste kvadraters fit > coef( mm ) (Intercept) year -33.3770219 0.0196717 Hældningen log b er omkring 0:02 svarende til at b ı 1:02; dvs. r ı 0:02. Men modellen passer faktisk ikke særlig godt; som om der sker et skift omkring år 1900; hvorfor mon?
43 Befolkningen i Nepal 10 15 20 25 30 1960 1970 1980 1990 2000 2010
44 2.4 2.8 3.2 1960 1970 1980 1990 2000 2010 > mm<-lm(log(pop)~year, data=dat) > coef(mm) (Intercept) year -42.69383763 0.02293475
45 Befolkningen i Bangladesh 60 80 100 140 1960 1970 1980 1990 2000 2010
46 4.0 4.4 4.8 1960 1970 1980 1990 2000 2010 > mm<-lm(log(pop)~year, data=dat) > coef(mm) (Intercept) year -40.04596399 0.02245125