SIR传染模型Matlab代码,sir传染病模型 MATLAB代码运行不了,

问题描述:

sir传染病模型 MATLAB代码运行不了,

function y=ill(t,x)

a=1;b=0.3;

y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]';

ts=0;50;

x0=[0.02,0.98];

[t,x]=ode45('ill',ts,x0);[t,x]

plot(t,x(:,1),t,x(:,2)),grid,pause

plot(x(:,2),x(:,1)),grid,

1个回答

分类:

综合

2014-11-01

问题解答:

我来补答

function y=ill(t,x)

a=1;b=0.3;

y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]';

保存为m文件就可以运行

再问: 谢谢,但我一运行就出现 ?? Input argument "x" is undefined. Error in ==> ill at 3 y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]'; 怎么修改哈?

再答: 应该就是函数定义问题 打开matlab,按左上角file菜单,选择第一项new,选择第一项m-flie 将 function y=ill(t,x) a=1;b=0.3; y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]'; copy进去,选择save as 保存时文件名为ill 然后关闭m文件 回到command window 将 ts=0;50; x0=[0.02,0.98]; [t,x]=ode45('ill',ts,x0);[t,x] plot(t,x(:,1),t,x(:,2)),grid,pause plot(x(:,2),x(:,1)),grid, copy进去运行即可。

再问: 谢谢您的耐心指导,我是新手。按您的步骤运行出现了 ??? Error using ==> odearguments at 101 The last entry in tspan must be different from the first entry. Error in ==> ode45 at 173 [neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ... 不知道什么原因?

再答: OMG 你的ts那一行写错了 应该是 ts=0:50; 中间那里是冒号,你写成分号了!!!

展开全文阅读

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值