Untitled
%ESERCIZIO 2 %LOTKA-VOLTERRA alfa=0.05; %[1/giorno] beta=0.00114; %[1/gatto/giorno] gamma=0.000001; %[1/ratto/giorno] %(1-G/70) limite della popolazione di gatti che il territorio può sostenere %delta è il tasso di mortalità dei gatti delta0=0.001; %[1/giorno] deltafin=0.015; %[1/giorno] (dopo l'irrorazione con insetticida) %calcola numero di gatti G e di topi T T0=1000; G0=100; y0=[T0,G0]; tspan=[0 7300]; [t,y]=ode45(@lotka_volterra, tspan, y0); figure(1) plot(t,y(:,1), '-b'); hold on; xlabel('tempo in giorni'); ylabel('topi'); title('numero di topi nel tempo'); grid on; figure(2) plot(t,y(:,2), '-r'); hold on; xlabel('tempo in giorni'); ylabel('gatti'); title('numero di gatti nel tempo'); grid on; T=y(1); G=y(2); fun=@(y) [alfa*y(1)-beta*y(1)*y(2); gamma*(1-y(2)/70)*y(1)*y(2)-delta0*y(2)]; y0_finale=y(end,:); sol=fsolve(fun, y0_finale); T=sol(1); G=sol(2); fprintf('soluzione stazionaria topi= %.0f \n', T); fprintf('soluzione stazionaria gatti= %.0f \n', G); T02=2569; G02=44; y02=[T02,G02]; tspan2=[0 90]; [t,y]=ode45(@lotka_volterra2, tspan2, y02); T90=round(y(end,1)); fprintf('soluzione stazionaria topi a 90 giorni= %.0f \n', T90); function dydt=lotka_volterra(t,y) alfa=0.05; %[1/giorno] beta=0.00114; %[1/gatto/giorno] gamma=0.000001; %[1/ratto/giorno] delta0=0.001; T=y(1); G=y(2); dTdt=alfa*T-beta*T*G; dGdt=gamma*(1-G/70)*T*G-delta0*G; dydt=[dTdt; dGdt]; end function dydt=lotka_volterra2(t,y) alfa=0.05; %[1/giorno] beta=0.00114; %[1/gatto/giorno] gamma=0.000001; %[1/ratto/giorno] deltafin=0.015; T=y(1); G=y(2); dTdt=alfa*T-beta*T*G; dGdt=gamma*(1-G/70)*T*G-deltafin*G; dydt=[dTdt; dGdt]; end
Leave a Comment