跪求matlab大神指导!错在哪里 如何修改啊?>> figure;for s0=[0.9 0.7 0.5 0.3 0.1] x0=[1-s0,s0]; [t,x]=ode45(@sirfun,ts,x0); s=x(:,2);i=x(:,1); plot(s,i);hold on;endxlabel('S');ylabel('R')axis([0 1 0 1])plot([0 1],[1,0],'r')tit

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/06 07:37:41

跪求matlab大神指导!错在哪里 如何修改啊?>> figure;for s0=[0.9 0.7 0.5 0.3 0.1] x0=[1-s0,s0]; [t,x]=ode45(@sirfun,ts,x0); s=x(:,2);i=x(:,1); plot(s,i);hold on;endxlabel('S');ylabel('R')axis([0 1 0 1])plot([0 1],[1,0],'r')tit
跪求matlab大神指导!错在哪里 如何修改啊?
>> figure;
for s0=[0.9 0.7 0.5 0.3 0.1]
x0=[1-s0,s0];
[t,x]=ode45(@sirfun,ts,x0);
s=x(:,2);i=x(:,1);
plot(s,i);hold on;
end
xlabel('S');ylabel('R')
axis([0 1 0 1])
plot([0 1],[1,0],'r')
title('相平面图')
hold off;
程序报错
? Error using ==> feval
Undefined command/function 'sirfun'.
Error in ==> funfun\private\odearguments at 110
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ==> ode45 at 173
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn,
请问错在哪里如何修改?

跪求matlab大神指导!错在哪里 如何修改啊?>> figure;for s0=[0.9 0.7 0.5 0.3 0.1] x0=[1-s0,s0]; [t,x]=ode45(@sirfun,ts,x0); s=x(:,2);i=x(:,1); plot(s,i);hold on;endxlabel('S');ylabel('R')axis([0 1 0 1])plot([0 1],[1,0],'r')tit
function f=sirfun(t,x)
lmda=1;mu=0.3;
f(1)=lmda*x(1)*x(2)-mu*x(1);
f(2)=-lmda*x(1)*x(2);
f=f(:);
要保存到 sirfun.m 文件中.
再在命令窗口中输入
>>figure;
for s0=[0.9 0.7 0.5 0.3 0.1]
x0=[1-s0,s0];
[t,x]=ode45(@sirfun,ts,x0);
s=x(:,2);i=x(:,1);
plot(s,i);hold on;
end
xlabel('S');ylabel('R')
axis([0 1 0 1])
plot([0 1],[1,0],'r')
title('相平面图')
hold off;
就好了.
看点入门书即可.