% Lotka-Volterra modell
%dx=x*(a-b*y)
%dy=y*(-c+d*x)
%periodikus pályák:

%paraméterek:
a=1;
b=1;
c=1;
d=1;
%kezdeti feltételek:
x_null= 2;
y_null= 3;
%egy trajektória kirajzolása: ode45
t_null=0;
t_max=100;
egyenlet=@(t, xy)[xy(1)*(a-b*xy(2)); xy(2)*(-c+d*xy(1))];
[t, xy]=ode45(egyenlet, [t_null, t_max], [x_null, y_null]);

%vektormezõ ábrázolása:
x=0:0.1:4;
y=0:0.1:4;
[X,Y]=meshgrid(x,y);
dx=X.*(a-b*Y);
dy=Y.*(-c+d*X);
%normálás:
dx=dx./ sqrt(dx.^2+dy.^2);
dy=dy./sqrt(dx.^2+dy.^2);

figure;
%vektormezõ és a trajektória:
subplot(1,2,1);
quiver(X,Y,dx,dy, 0.5, 'k');
hold on;
plot(xy(:,1), xy(:,2), 'g');
xlabel('x');
ylabel('y');
xlim([-0.1, 4.1]);
ylim([-0.1, 4.1]);
%a fajok mennyiségének alakulása az idõben: x-t, y-t ábrák:
subplot(1,2,2);
plot(t, xy(:,1), 'r', t, xy(:,2), 'b');
legend('x: zsákmány', 'y: ragadozó');







