Predator/Prey Model questions

4 views (last 30 days)
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

Accepted Answer

William Rose
William Rose on 28 Mar 2021
[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 Comment
Nicholas Carr
Nicholas Carr on 30 Mar 2021
Excellent, that all makes sense now. Thanks bud I appreciate the help

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!