📄 lesliegower.m
字号:
% Integration par la methode de Runge-Kutta
% du systeme Leslie Gower.
% On s'interesse ici aux trajectoires :
% trace de (x,y) en fonction de t,
% trace dans des plans de phase
clear all
close all
% on fixe les parametres du systeme
w1=2;
w2=0.3;
w3=0.4;
w4=5/3;
% on fixe le pas de temps, le temps jusqu'auquel
% on calcule, la condition initiale
dt = 0.01;
Tmax=100;
x(1)=1;
y(1)=1;
tps(1)=0;
k=1;
% iteration
for t=0:dt:Tmax,
k=k+1;
dx1=x(k-1)*(1-x(k-1))-(x(k-1)*y(k-1))/(1+w1*x(k-1));
dy1=w2*y(k-1)^2-(w3*y(k-1)^2)/(w4*x(k-1)+1);
x2=x(k-1)+dt*dx1/2;
y2=y(k-1)+dt*dy1/2;
dx2=x2*(1-x2)-(x2*y2)/(1+w1*x2);
dy2=w2*y2^2-(w3*y2^2)/(w4*x2+1);
x3=x(k-1)+dt*dx2/2;
y3=y(k-1)+dt*dy2/2;
dx3=x3*(1-x3)-(x3*y3)/(1+w1*x3);
dy3=w2*y3^2-(w3*y3^2)/(w4*x3+1);
x4=x(k-1)+dt*dx3;
y4=y(k-1)+dt*dy3;
dx4=x4*(1-x4)-(x4*y4)/(1+w1*x4);
dy4=w2*y4^2-(w3*y4^2)/(w4*x4+1);
x(k)=x(k-1)+dt*(dx1/6+dx2/3+dx3/3+dx4/6);
y(k)=y(k-1)+dt*(dy1/6+dy2/3+dy3/3+dy4/6);
tps(k)=t;
end
%M=[x];
%dlmwrite('Result', M,'delimiter', '\t', 'precision', 8);
% representation graphique
plot(tps,x,tps,y)
title('Leslie Gower par RK4 : x,y en fonction de t')
legend('x','y')
disp('Pressez la touche espace pour continuer')
pause
clf;
plot(x,y)
title( 'Lorenz par RK4, espace des phases' )
xlabel('x')
ylabel('y')
disp('Pressez la touche espace pour continuer')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -