Info

This question is closed. Reopen it to edit or answer.

Input undefined in a function describing differential equations

1 view (last 30 days)
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

Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 3 May 2013
Edited: Azzi Abdelmalek on 3 May 2013
You can not run a function, you should call it.
Look at ode45
  2 Comments
Ojaswita
Ojaswita on 4 May 2013
Edited: Azzi Abdelmalek on 4 May 2013
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))
Zhang lu
Zhang lu on 4 May 2013
Edited: Zhang lu on 4 May 2013
do ypsir.m file you called at your matlab current folder, if not ,do it.

This question is closed.

Community Treasure Hunt

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

Start Hunting!