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ć:
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 |
%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ż.