Równanie Lotki-Volterry

Równanie Lotki-Volterry znane też jako model drapieżnik-ofiara to nieliniowe równanie różniczkowe pierwszego stopnia. Jest to model układów dynamicznych występujących w ekosystemach (np. w symulacji zachowania populacji ofiar i drapieżników).

Równanie zaproponowane przez autorów ma postać:

0x01 graphic

0x01 graphic

Należy zobrazować model wykorzystując dane z tabeli poniżej.

gdzie:

x(t) - populacja czyli liczba ofiar (np. zające);

y(t) - liczba drapieżców (np. rysie);

t - rozwój tych dwóch populacji w czasie;

a - częstość narodzin ofiar lub współczynnik przyrostu ofiar,

b - częstość umierania ofiar na skutek drapieżnictwa,

c - częstość narodzin drapieżników lub współczynnik przyrostu drapieżników,

d - częstość umierania drapieżników lub współczynnik ubywania drapieżników,

*żródło: Wikipedia

Wielkość

Wartość

a

16

b

8

c

4

d

10

0x01 graphic

0x01 graphic

%Rozwiazuje równanie metoda Rungego-Kutty

function [F]= populacja(t,y)

%Zdefiniowanie parametrów: czas poczatkowy, populacja poczatkowa ofiar i drapieznikow, czas koncowy, liczba podzialow

t0=0, x0=60, y0=50, tk=10, n=10;

%Wspólczynniki przyrostu ofiar (a), smiertelnosci ofiar (b), przyrostu drapieznikow (c) i ubytku drapieznikow; zmienne globalne a, b, c, d

a=16; b=8; c=4; d=10;

%obliczanie kroku

h=(tk-t0)/n;

%wektory poczatkowe

t=[t0:h:tk]; y=[y0 zeros(1,n)]; x=[x0 zeros(1,n)];

%obliczenia

for i=1:n

k1=h*populacja(t(i), y(i));

k2=h*populacja(t(i)+h/2,y(i)+k1/2);

k3=h*populacja(t(i), x(i));

k4=h*populacja(t(i)+h/2,y(i)+k3/2);

y(i+1)=y(i)+k2;

x(i+1)=x(1)+k4;

t(i+1)=t(i)+h;

end

%wykres

plot(t,x,'r:', t, y, 'b-')

xlabel('t')

ylabel('populacja(t)')

legend('metoda Rungego-Kutty')

title('wykres drapieznik-ofiara')

W podanym przypadku można zauważyć, iż liczba drapieżników jest zależna od liczby ofiar, to znaczy jeżeli liczba zajęcy maleje to ilość rysi również.