%===================================================== % % MOS21 - 2013 % % Système proies/prédateurs de Lotka-Volterra % %===================================================== %=== Nettoyage de matlab clc; clear all; close all; %=== Parametres x0=100;%population initiale de proies y0=10;%population initiale de predateurs a=0.40;%taux définis pour une période de durée unitaire b=0.05; c=0.8; d=0.02; dt=0.001; %increment de temps pour le schéma d'Euler explicite T=100; %nombre de périodes observées; %=== Calculs de l'evolution de x(ti) et y(ti) par Euler explicite nt=floor(T/dt); %nombre d'instants discrétisés tab_t=zeros(nt+1,1); for i=1:nt+1 tab_t(i,1)=(i-1)*dt; end tab_x=zeros(nt+1,1); tab_y=zeros(nt+1,1); tab_x(1,1)=x0;%initialisation avec les conditions-initiales tab_y(1,1)=y0; for i=1:nt tab_x(i+1,1)=tab_x(i,1)+dt*(a*tab_x(i,1)-b*tab_x(i,1)*tab_y(i,1)); tab_y(i+1,1)=tab_y(i,1)+dt*(-c*tab_y(i,1)+d*tab_x(i,1)*tab_y(i,1)); if(tab_x(i+1,1)<0) tab_x(i+1,1)=0; end if(tab_y(i+1,1)<0) tab_y(i+1,1)=0; end end %=== Traces de x(t) et y(t) h1=figure(1); hold on plot(tab_t,tab_x,'-b','markersize',10,'linewidth',2); plot(tab_t,tab_y,'-g','markersize',10,'linewidth',2); grid; xlabel('Temps'); ylabel('Effectifs'); legend('proies','predateurs'); titre=strcat('Modele de Lotka-Volterra, a=',num2str(a),', b=',num2str(b),', c=',num2str(c),' d=',num2str(d)); title(titre); hold off %=== Traces de de la courbe parametree {x(t),y(t)} h2=figure(2); hold on plot(tab_x,tab_y,'-r','markersize',10,'linewidth',2); grid; xlabel('x(t) - proies'); ylabel('y(t) - predateurs'); titre=strcat('Modele de Lotka-Volterra, a=',num2str(a),', b=',num2str(b),', c=',num2str(c),' d=',num2str(d)); title(titre); hold off