Info

此问题已关闭。 请重新打开它进行编辑或回答。

Input undefined in a function describing differential equations

1 次查看(过去 30 天)
I am new at learning how to use the differential equation solvers in MATLAB. I am trying to work out epidemic model differential equations. I got this tutorial online regarding my subject and I tried to use it. The function is given below:
function ypsir =ypsir(t,y)
a = .01;
b = .1;
ypsir(1) =-a*y(1)*y(2);
ypsir(2) = a*y(1)*y(2)-b*y(2);
ypsir(3) = b*y(2);
ypsir = [ypsir(1) ypsir(2) ypsir(3)]';
but when I run it, it keeps on saying input y is undefined. Can someone pls help! Thanks in advance

回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2013-5-3
编辑:Azzi Abdelmalek 2013-5-3
You can not run a function, you should call it.
Look at ode45
  2 个评论
Ojaswita
Ojaswita 2013-5-4
编辑:Azzi Abdelmalek 2013-5-4
Thanks... i am creating another m file that calls this function, and its giving me an error... in the line that i am using to call the function. Again, this is from the same tutorial that i was using...
to = 0;
tf =50;
yo = [99 1 0];
[t y] = ode45('ypsir',[to tf],yo);
plot(t,y(:,1),t,y(:,2),t,y(:,3))

此问题已关闭。

Community Treasure Hunt

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

Start Hunting!

Translated by