Error using feval and in odearguments?
Mostrar comentarios más antiguos
I'm trying to simulate the SEIR model for dengue fever using the following differential equations:
function ypseir =ypseir(t,y)
u=0.0045
N=5535002
S=5535002
E=50
I=50
J=0
R=0
v=0.0045
B=0.375
o=1/8.5
z=1/6
ypseir(1) = u*N-((B*(J/N))+u)*S
ypseir(2) = ((B *(J/N))*S)-(u+o)*E
ypseir(3) = o*E+(u+z)*I
ypseir(4) = z*I-u*R
ypseir = [ypseir(1) ypseir(2) ypseir(3) ypseir(4)]';
to = 0;
tf =100;
yo = [5535002 50 50 0];
[t y] = ode45('ypseir',[to tf],yo);
plot(t,y(:,1),t,y(:,2),t,y(:,3),y(:,4))
title('Human Population Without Control')
xlabel('time')
ylabel('susceptible, exposed, infected, recovered')
And I'm presented with the following errors:
Error using feval Maximum recursion limit of 500 reached.
Error in odearguments (line 87) f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Truthfully I'm unsure how to use MATLAB and compute the SEIR model. Help is needed! Thank you!
Respuestas (1)
Walter Roberson
el 29 de Dic. de 2015
Store the below in ypseir_driver.m
function ypseir_driver
to = 0;
tf =100;
yo = [5535002 50 50 0];
[t y] = ode45(@ypseir,[to tf],yo);
plot(t, y(:,1), 'c', t, y(:,2), 'y', t, y(:,3), 'r', t, y(:,4), 'b')
title('Human Population Without Control')
xlabel('time')
ylabel('susceptible, exposed, infected, recovered')
legend('susceptible', 'exposed', 'infected', 'recovered');
function dy = ypseir(t,y)
u = 0.0045;
N = 5535002;
S = 5535002;
E = 50;
I = 50;
J = 0;
R = 0;
v = 0.0045;
B = 0.375;
o = 1/8.5;
z = 1/6;
dy(1,1) = u*N-((B*(J/N))+u)*S;
dy(2,1) = ((B *(J/N))*S)-(u+o)*E;
dy(3,1) = o*E+(u+z)*I;
dy(4,1) = z*I-u*R;
1 comentario
Muse Riveria
el 30 de Dic. de 2015
Categorías
Más información sobre Deep Learning Toolbox en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!