What am I doing wrong in my Ode?

1 vue (au cours des 30 derniers jours)
Matthew Lozancich
Matthew Lozancich le 11 Jan 2018
Can't seem to understand what I'm doing wrong.
function zombie
[t,x]=ode23(@zomb,[0,60],1000)
subplot(2,1,1)
plot(t,x(:,1))
subplot(2,1,2)
plot(t,x(:,2))
function dx=zomb(t,x)
mu=0.002;
delta=0.001;
beta=0.002;
gamma=0.0015;
dx=[mu*x(1) - beta*(x(1))*x(2) - delta*(x(1)); -gamma*x(1)*x(2) + beta*x(1)*x(2) - 150*delta*x(2)];
end
end

Réponse acceptée

David Goodmanson
David Goodmanson le 11 Jan 2018
Hi Matthew, you appear to lacking a second initial condition. With one initial condition of 1000, ode23 assumes that x has only one component and so 'zomb' bombs out on the x(2) variable. If you try, e.g.
[t,x]=ode23(@zomb,[0,60],[1000 5])
then it works.

Plus de réponses (0)

Catégories

En savoir plus sur Calendar dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by