Processing math: 100%

Populacijska dinamika

Populacijska dinamika

Reševanje sistemov navadnih diferencialnih enačb

Reševanje sistemov se ne razlikuje bistveno od reševanja ene same enačbe. Rešujemo sistem k enačb

y1(t)=f1(y1(t),y2(t),,yk,t)y2(t)=f2(y1(t),y2(t),,yk,t)yk(t)=fk(y1(t),y2(t),,yk,t)

z začetnim pogojem yi(t0)=yi0. Sistem lahko zapišemo kot eno samo vektorsko enačbo. Če označimo z Y=[y1,y2,,yk] in z F(Y,t)=[f1,f2,,fk], lahko sistem enačb zapišemo v vektorski obliki

Y(t)=F(Y(t),t).

Za reševanje vektorske enačbe lahko uporabimo povsem iste formule kot za eno samo skalarno enačbo.

Numerično reševanje začetnega problema

Iskanju rešitve za diferencialno enačbo

y(t)=f(y(t),t)

ki zadošča pogoju y(t0)=y0 v določenem času t0, pravimo začetni problem za diferencialno enačbo [1]. Numerične metode za reševanje začetnega problema bolj ali manj delujejo po istem principu. Začetni pogoj poda vrednost v točki t0. Najprej izračunamo vrednost y(t) v točki t1=t0+h, ki je blizu t0. Vrednost y(t0+h) lahko zapišemo z integralom

y(t0+h)=y(t0)+t0+ht0f(t,y(t))dt.

Ker rešitve y(t) ne poznamo, lahko vrednost integrala izračunamo le približno in tako dobimo približek za vrednost y1=y(t0+h). Isti postopek lahko nato ponovimo za začetni problem z začetnimi pogoji y(t1)=y1 in izračunamo približek za y(t1+h1). To ponavljamo, dokler ne dosežemo končne vrednosti tn.

Eulerjeva metoda

Ogledali si bomo preprosto numerično metodo za reševanje začetnega problema imenovano Eulerjeva metoda.

Iščemo rešitev NDE y=f(y,t) z začetnim pogojem y(x0)=y0 na intervalu [t0,tk]. Izberimo si končno mnogo točk

x0<x1<<xn+1=xk

Z Eulerjevo metodo izračunamo zaporedje približkov yi za y(xi) z rekurzivno formulo

hn=(xn+1xn)yn+1=yn+hnf(yn,xn).

Pogosto vzamemo ekvidistančne točke in fiksen korak hn=h.

Opomba: Eulerjeva metoda je 1. reda, kar pomeni, da napaka zelo počasi pada (sorazmerno s h), ko manjšamo korak h. Zato se v praksi redko uporablja, saj obstajajo metode višjih redov (4,5,6), kjer je hitrost konvergence bistveno večja.

Implicitne metode

Poglejmo si, kaj dobimo, če integral (???) izračunamo s trapezno formulo za t1=t0+h

y(t1)=y(t0)+h2(f(y(t0),t0)+f(y(t1),t1)).

Vrednost y1=y(t1), ki jo želimo izračunati nastopa tudi na desni strani enačbe in je tako ne moremo izračunati eksplicitno. Lahko pa poiščemo rešitev enačbe (???) numerično. Če je h dovolj majhen bo konvergirala že navadna iteracija podana z enačbo (???).

Implicitne metode

Numerične metode, pri katerih približek ni podan eksplicitno s formulo ali zaporedjem približko, ampak kot rešitev enačbe imenujemo implicitne metode.

[1]

Poleg začetnega problema, lahko za dano diferencialno enačbo rešujemo tudi robni problem, kjer so

pogoji podani v dveh različnih točkah a in b. Pri robnih problemih iščemo rešitev znotraj intervala [a,b].

Primer: Lotka-Volterra

Poskusimo rešiti začetni problem za sistem enačb Lotka-Volterra

x=x(αβy)y=y(γδx)

za parametre α=β=γ=1 in δ=2 in začetnim pogojem x(0)=y(0)=1

Red metode

Če rešujemo začetni problem za NDE na fiksnem intervalu [t0,tk], napaka približka pada s potenco h

yny(tk)=Chr

Eksponent r v potenci hr imenujemo red metode. Red metode lahko določimo numerično.

Vsak sistem NDE lahko prevedemo na avtonomen sistem

Če za enačbo oziroma sistem enačb y(t)=f(y(t),t) funkcija f ni eksplicitno odvisno od t, se pravi da je y=f(y,t)=f(y), potem sistem imenujemo avtonomen sistem. V resnici lahko vsak sistem

y1(t)=f1(y1(t),y2(t),,yk,t)y2(t)=f2(y1(t),y2(t),,yk,t)yk(t)=fk(y1(t),y2(t),,yk,t)

preprosto razširimo v avtonomen sistem preprosto tako, da dodamo t kot še eno komponento yk+1=t vektorju y in dobimo sistem, kjer t ne nastopa eksplicitno

y1(t)=f1(y1(t),y2(t),,yk,yk+1)y2(t)=f2(y1(t),y2(t),,yk,yk+1)yk(t)=fk(y1(t),y2(t),,yk,yk+1)yk+1(t)=1.