What am I doing wrong in my Ode?
조회 수: 1 (최근 30일)
이전 댓글 표시
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
댓글 수: 0
채택된 답변
David Goodmanson
2018년 1월 11일
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.
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!