24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1316  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

xwndf250

银虫 (小有名气)

[求助] matlab处理常微分方程作图问题

流行病模型 sir
dI/dt=a*S*I-b*I
dS/dt=-a*S*I
dR/dt=b*I
S+I+R=1且0 想要做一个横坐标t=[0,50], 纵坐标dI/dt、dS/dt、dR/dt的3条曲线,求具体程序,本人写的程序
m文件:function y=SIR(t,x)
a=0.2;b=0.1;
y=[a*x(1)*x(2)-b*x(1);
-a*x(1)*x(2);
b*x(3)];
end
命令:应该怎样写,才是t与dI/dt、dS/dt、dR/dt的图像(就是S、I、R的变化率随时间的变化),注意,不是t与S、I、R的图像!最好用matlab语言。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
xwndf250: 金币+15, ★★★很有帮助, 非常感谢您的帮助,给您金币,顺便问下,t0初值怎么确定的?也就是0.1,0.4,0.5是怎么确定的? 2013-02-27 10:00:25
fegg7502: 金币+1, 应助指数+1, 鼓励交流 2013-04-02 09:30:14
odeset()函数设置数值解的计算精度,其实一般不用也可以
intvalue是初值啊,t=0时的初值
“for i=1:length(T) 和vdy(:,i)=rigid(T(i),Y(i,);”的为了循环计算每个t下的3个导数值
showmethemoney
4楼2013-02-27 09:54:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
dbb627: 金币+2, 感谢应助 2013-02-26 14:07:58
CODE:
function xwn
options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);
intvalue=[0.1 0.4 0.5];       %t=0时的初值
[T,Y] = ode45(@rigid,[0 50],intvalue,options);
plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.')
title('T-Y图')
for i=1:length(T)     
vdy(:,i)=rigid(T(i),Y(i,:));
end
figure
plot(T,vdy(1,:),'-',T,vdy(2,:),'-.',T,vdy(3,:),'.')
title('T-dY图')
end

function dy = rigid(t,y)
dy = zeros(3,1);    % a column vector
a=0.2;
b=0.1;
dy(1) = a*y(2)*y(1)-b * y(1);
dy(2) = -a*y(2) * y(1);
dy(3) = b * y(1);
end

showmethemoney
2楼2013-02-26 11:06:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xwndf250

银虫 (小有名气)

引用回帖:
2楼: Originally posted by csgt0 at 2013-02-26 11:06:11
function xwn
options = odeset('RelTol',1e-4,'AbsTol',);
intvalue=;       %t=0时的初值
= ode45(@rigid,,intvalue,options);
plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.')
title('T-Y图')
for i=1: ...

function dy = rigid(t,y)后面的我看懂了,但是前面function xwn没有看懂,我记得求导貌似用diff函数的,能不能详细讲解下odeset()函数,intvalue作用,“for i=1:length(T) 和vdy(:,i)=rigid(T(i),Y(i,);”的意思。我是小白,求指教。好的话我多给金币。
3楼2013-02-26 21:06:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖


fegg7502: 金币+1, 应助指数+1, 鼓励交流 2013-04-02 09:30:24
引用回帖:
3楼: Originally posted by xwndf250 at 2013-02-26 21:06:43
function dy = rigid(t,y)后面的我看懂了,但是前面function xwn没有看懂,我记得求导貌似用diff函数的,能不能详细讲解下odeset()函数,intvalue作用,“for i=1:length(T) 和vdy(:,i)=rigid(T(i),Y(i,);”的 ...

就是t=0是的ISR啊,具体多少得看你的实际情况,我只是随意写的个数。
showmethemoney
5楼2013-02-27 10:37:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 277求调剂 +23 倪建设 2026-04-06 23/1150 2026-04-13 00:40 by 王童子龙
[考研] 化学070300 求调剂 +16 哈哈哈^_^ 2026-04-12 16/800 2026-04-13 00:17 by wadb64
[考研] 295分求调剂 +13 ?要上岸? 2026-04-10 13/650 2026-04-12 15:37 by laoshidan
[考研] 求调剂,262机械专硕 +8 嗯yyl 2026-04-08 8/400 2026-04-12 02:31 by 秋豆菜芽
[考研] 计算机22408 281分,求调剂 +7 17715607211 2026-04-06 7/350 2026-04-12 00:43 by xuxiang
[考研] 087100初试311求调剂 +4 任雅琴 2026-04-09 4/200 2026-04-11 10:33 by zhq0425
[考研] 中药学调剂 初试324 +4 洋甘菊、 2026-04-10 6/300 2026-04-11 09:41 by gong120082
[考研] 0854调剂 +4 长弓傲 2026-04-09 4/200 2026-04-11 09:18 by 猪会飞
[考研] 346,工科0854求调剂,专硕 +7 moser233 2026-04-10 8/400 2026-04-11 08:52 by 猪会飞
[考研] 一志愿北理工298英一数二已上岸,感谢各位老师 +14 Reframe 2026-04-10 16/800 2026-04-10 23:07 by caotw2020
[考研] 初试261 +3 Asht少 2026-04-10 6/300 2026-04-10 16:38 by Asht少
[考研] 071000生物学调剂求助 +17 zzzzwww 2026-04-09 20/1000 2026-04-10 15:55 by 求调剂zz
[考研] 344求调剂 +7 丶风雪夜归人丶 2026-04-09 7/350 2026-04-10 12:05 by pengliang8036
[考研] 292求调剂 +9 笑笑袁 2026-04-09 9/450 2026-04-10 10:05 by LHGeng
[考研] 考研调剂 +13 冰冰,,, 2026-04-07 13/650 2026-04-09 17:01 by Lilly_Li
[考研] 334求调剂 +16 Riot2025 2026-04-08 17/850 2026-04-09 09:28 by wdyheheeh
[考研] 308求调剂 +17 墨墨漠 2026-04-06 17/850 2026-04-09 09:25 by 壹往無前
[考研] 313求调剂 +3 十六拾陆 2026-04-07 3/150 2026-04-07 23:20 by lbsjt
[考研] 22408 318分求调剂 +4 勤奋的小笼包 2026-04-06 6/300 2026-04-07 15:05 by 纸鹤555
[考研] 081200-11408-367学硕求调剂 +4 1_2_3111 2026-04-06 4/200 2026-04-07 08:13 by jp9609
信息提示
请填处理意见