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

Respuestas (1)

Azzi Abdelmalek
Azzi Abdelmalek el 3 de Mayo de 2013
Editada: Azzi Abdelmalek el 3 de Mayo de 2013
You can not run a function, you should call it.
Look at ode45

2 comentarios

Ojaswita
Ojaswita el 4 de Mayo de 2013
Editada: Azzi Abdelmalek el 4 de Mayo de 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 el 4 de Mayo de 2013
Editada: Zhang lu el 4 de Mayo de 2013
do ypsir.m file you called at your matlab current folder, if not ,do it.

La pregunta está cerrada.

Preguntada:

el 3 de Mayo de 2013

Cerrada:

el 20 de Ag. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by