Azzera filtri
Azzera filtri

What am I doing wrong in my Ode?

1 visualizzazione (ultimi 30 giorni)
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

Risposta accettata

David Goodmanson
David Goodmanson il 11 Gen 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.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by