I'm trying to create a predator prey model with three different populations.
I was able to construct this using my notes/online tutorials, but I do not understand what all of this does (nor if I did this correctly). In my notes/ online tutorials, it seems p(1) would be the first population. I don't see where this is set up though and how it is updated. If anyone could explain how the computer reads these lines of , I'd greatly appreciate it.
function population
%initial conditions
h0=100; i0=1; v0=1;
IC=[h0,i0,v0];
t = [0 365];
B=0.07;
Ri=0.01;
Rv=0.01;
Di=0.03;
Dv=1;
Bv=0.03;
Rr=0.001;
[t,p]= ode15s(@RHS, t,IC );
figure(1)
plot(t ,p(:,1),'linewidth',2,'color','b')
hold on
plot(t ,p(:,2),'linewidth',2,'color','g')
hold on
plot(t ,p(:,3),'linewidth',2,'color','r')
grid on;
xlabel('time', 'FontSize', 20);
ylabel('Population', 'FontSize', 20);
function dpdt= RHS(t,p)
dpdt_1=(B*p(1)) - (Rv*p(1)*p(3)) - (Ri*p(1)*p(2)) + (Rr*p(2));
dpdt_2=(Ri*p(1)*p(2)) - (Di*p(2)) - (Rr*p(2));
dpdt_3=(Bv*(p(1)+p(2))*p(3))- (Dv*p(3));
dpdt=[dpdt_1;dpdt_2;dpdt_3];
end
end

 Réponse acceptée

William Rose
William Rose le 28 Mar 2021

0 votes

[t,p]= ode15s(@RHS, t,IC );
is where the action is in this script.
Outputs: p() is Nx3array with populations p1, p2, p3, at the N times given in the Nx1 vector t().
Inputs:
  • IC() is the vector of initial conditions. Therefore the values of [p1, p2, p3] at the initial time (t=0) are the values given in IC. Those were defined at the top to be IC=[h0, i0, v0].
  • RHS() is a function that returns a 3-element vector whose values are the time derivatives [dp1/dt, dp2/dt, dp3/dt].
  • t=[0,365] is the time range for integraiton.

1 commentaire

Nicholas Carr
Nicholas Carr le 30 Mar 2021
Excellent, that all makes sense now. Thanks bud I appreciate the help

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Startup and Shutdown dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by