Input undefined in a function describing differential equations

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)

You can not run a function, you should call it.
Look at ode45

2 Comments

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))
do ypsir.m file you called at your matlab current folder, if not ,do it.

This question is closed.

Asked:

on 3 May 2013

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!