我试图解决一个问题但我继续这个错误“无法识别的函数或变量f”虽然我试图定义一个匿名函数callingRK4之前和之后gydF4y2Ba
59视图(30天)gydF4y2Ba
显示旧的评论gydF4y2Ba
雅苒gydF4y2Ba
2023年5月8日在福音11:24gydF4y2Ba
评论道:gydF4y2Ba
克里斯·拉皮埃尔gydF4y2Ba
2023年5月8日在20gydF4y2Ba
我试图解决这个问题:gydF4y2Ba
先生对疾病传播模型gydF4y2Ba
在1968年的冬天,纽约是被一种新的流感病毒,香港流感。gydF4y2Ba
爵士模型表示敏感的人口之间的关系,和感染gydF4y2Ba
恢复与常微分方程给出:gydF4y2Ba
dSgydF4y2Ba
dtgydF4y2Ba
=gydF4y2Ba
fgydF4y2Ba
=gydF4y2Ba
−gydF4y2Ba
βSIgydF4y2Ba
NgydF4y2Ba
(6)gydF4y2Ba
迪gydF4y2Ba
dtgydF4y2Ba
=gydF4y2Ba
ggydF4y2Ba
=gydF4y2Ba
βSIgydF4y2Ba
NgydF4y2Ba
−gydF4y2Ba
γIgydF4y2Ba
(7)gydF4y2Ba
博士gydF4y2Ba
dtgydF4y2Ba
=gydF4y2Ba
hgydF4y2Ba
=gydF4y2Ba
γI,gydF4y2Ba
(8)gydF4y2Ba
在哪里gydF4y2Ba
年代gydF4y2Ba
(gydF4y2Ba
tgydF4y2Ba
)gydF4y2Ba
,gydF4y2Ba
我gydF4y2Ba
(gydF4y2Ba
tgydF4y2Ba
)gydF4y2Ba
,gydF4y2Ba
RgydF4y2Ba
(gydF4y2Ba
tgydF4y2Ba
)gydF4y2Ba
易感,感染和恢复人口在时间吗gydF4y2Ba
tgydF4y2Ba
。gydF4y2Ba
βgydF4y2Ba
是gydF4y2Ba
传输速度,gydF4y2Ba
γgydF4y2Ba
代表了回收率gydF4y2Ba
NgydF4y2Ba
=gydF4y2Ba
年代gydF4y2Ba
(gydF4y2Ba
tgydF4y2Ba
)+gydF4y2Ba
我gydF4y2Ba
(gydF4y2Ba
tgydF4y2Ba
)+gydF4y2Ba
RgydF4y2Ba
(gydF4y2Ba
tgydF4y2Ba
)gydF4y2Ba
人口是固定的。gydF4y2Ba
这个问题的目的是解决微分方程组和观察变化gydF4y2Ba
人口随着时间的推移,使用gydF4y2Ba
四阶龙格-库塔方法gydF4y2Ba
。4日的常量gydF4y2Ba
龙格库塔方法被定义为:gydF4y2Ba
cgydF4y2Ba
1gydF4y2Ba
=∆gydF4y2Ba
tgydF4y2Ba
·gydF4y2Ba
fgydF4y2Ba
(gydF4y2Ba
tgydF4y2Ba
kgydF4y2Ba
ygydF4y2Ba
kgydF4y2Ba
)gydF4y2Ba
(9)gydF4y2Ba
cgydF4y2Ba
2gydF4y2Ba
=∆gydF4y2Ba
tgydF4y2Ba
·gydF4y2Ba
fgydF4y2Ba
tgydF4y2Ba
kgydF4y2Ba
+ 1gydF4y2Ba
2∆gydF4y2Ba
t、ygydF4y2Ba
kgydF4y2Ba
+ 1gydF4y2Ba
2gydF4y2Ba
cgydF4y2Ba
1gydF4y2Ba
(10)gydF4y2Ba
cgydF4y2Ba
3gydF4y2Ba
=∆gydF4y2Ba
tgydF4y2Ba
·gydF4y2Ba
fgydF4y2Ba
tgydF4y2Ba
kgydF4y2Ba
+ 1gydF4y2Ba
2∆gydF4y2Ba
t、ygydF4y2Ba
kgydF4y2Ba
+ 1gydF4y2Ba
2gydF4y2Ba
cgydF4y2Ba
2gydF4y2Ba
(11)gydF4y2Ba
cgydF4y2Ba
4gydF4y2Ba
=∆gydF4y2Ba
tgydF4y2Ba
·gydF4y2Ba
fgydF4y2Ba
(gydF4y2Ba
tgydF4y2Ba
kgydF4y2Ba
+∆gydF4y2Ba
t、ygydF4y2Ba
kgydF4y2Ba
+gydF4y2Ba
cgydF4y2Ba
3gydF4y2Ba
)gydF4y2Ba
(12)gydF4y2Ba
ygydF4y2Ba
kgydF4y2Ba
+ 1gydF4y2Ba
=gydF4y2Ba
ygydF4y2Ba
kgydF4y2Ba
+ 1gydF4y2Ba
6gydF4y2Ba
cgydF4y2Ba
1gydF4y2Ba
+ 1gydF4y2Ba
3gydF4y2Ba
cgydF4y2Ba
2gydF4y2Ba
+ 1gydF4y2Ba
3gydF4y2Ba
cgydF4y2Ba
3gydF4y2Ba
+ 1gydF4y2Ba
6gydF4y2Ba
cgydF4y2Ba
4gydF4y2Ba
(13)gydF4y2Ba
(一)写一个函数,估计数量gydF4y2Ba
年代gydF4y2Ba
(gydF4y2Ba
tgydF4y2Ba
kgydF4y2Ba
+ 1gydF4y2Ba
)gydF4y2Ba
,gydF4y2Ba
我gydF4y2Ba
(gydF4y2Ba
tgydF4y2Ba
kgydF4y2Ba
+ 1gydF4y2Ba
)gydF4y2Ba
和gydF4y2Ba
RgydF4y2Ba
(gydF4y2Ba
tgydF4y2Ba
kgydF4y2Ba
+ 1gydF4y2Ba
)gydF4y2Ba
。的输入和gydF4y2Ba
给出了函数的输出如下:gydF4y2Ba
函数gydF4y2Ba
[Skp1,gydF4y2Ba
Ikp1,gydF4y2Ba
Rkp1] = RK4 (f, g, h, dt, Sk,反向,Rk)gydF4y2Ba
%计算gydF4y2Ba
的gydF4y2Ba
人口在tkp1易感,感染和恢复gydF4y2Ba
%使用gydF4y2Ba
4日gydF4y2Ba
订单gydF4y2Ba
龙格-库塔法gydF4y2Ba
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %gydF4y2Ba
%的输入:gydF4y2Ba
% f:gydF4y2Ba
函数gydF4y2Ba
处理gydF4y2Ba
第一的颂歌gydF4y2Ba
% g:gydF4y2Ba
函数gydF4y2Ba
处理gydF4y2Ba
第二次的颂歌gydF4y2Ba
% h:gydF4y2Ba
函数gydF4y2Ba
处理gydF4y2Ba
第三的颂歌gydF4y2Ba
% dt:gydF4y2Ba
时间gydF4y2Ba
一步gydF4y2Ba
% Sk:gydF4y2Ba
易受影响gydF4y2Ba
人口在tkgydF4y2Ba
%翼:gydF4y2Ba
受感染的gydF4y2Ba
人口在tkgydF4y2Ba
% Rk:gydF4y2Ba
恢复gydF4y2Ba
人口在tkgydF4y2Ba
%输出:gydF4y2Ba
% Skp1:gydF4y2Ba
易受影响gydF4y2Ba
人口tkp1gydF4y2Ba
% Ikp1:gydF4y2Ba
受感染的gydF4y2Ba
人口tkp1gydF4y2Ba
% Rkp1:gydF4y2Ba
恢复gydF4y2Ba
人口tkp1gydF4y2Ba
(提示:三个匿名函数定义为以下,在主脚本)gydF4y2Ba
fgydF4y2Ba
=gydF4y2Ba
@(年代,gydF4y2Ba
我,gydF4y2Ba
r)gydF4y2Ba
β* *我/ NgydF4y2Ba
ggydF4y2Ba
=gydF4y2Ba
@(年代,gydF4y2Ba
我,gydF4y2Ba
r)gydF4y2Ba
β* s / Nγ* *我gydF4y2Ba
hgydF4y2Ba
=gydF4y2Ba
@(年代,gydF4y2Ba
我,gydF4y2Ba
r)gydF4y2Ba
γ*我gydF4y2Ba
(b)写一个脚本,该脚本计算易感,感染和恢复的数量在每一个步伐gydF4y2Ba
从gydF4y2Ba
tgydF4y2Ba
= 0gydF4y2Ba
来gydF4y2Ba
tgydF4y2Ba
= 200gydF4y2Ba
。使用下面的仿真参数和初始条件:gydF4y2Ba
dtgydF4y2Ba
= 1gydF4y2Ba
,gydF4y2Ba
βgydF4y2Ba
= 0gydF4y2Ba
。gydF4y2Ba
5gydF4y2Ba
,gydF4y2Ba
γgydF4y2Ba
= 1gydF4y2Ba
/gydF4y2Ba
3gydF4y2Ba
,gydF4y2Ba
年代gydF4y2Ba
(0)= 7gydF4y2Ba
,gydF4y2Ba
900年gydF4y2Ba
,gydF4y2Ba
000年gydF4y2Ba
,gydF4y2Ba
我gydF4y2Ba
(0)= 10gydF4y2Ba
和gydF4y2Ba
RgydF4y2Ba
(0)= 0gydF4y2Ba
。gydF4y2Ba
(c)使用(b)的结果,编写代码,情节的比值易感,感染和recov -gydF4y2Ba
感染人群作为时间的函数在一个数字。图应该有一个标题,轴gydF4y2Ba
标签和传奇。保存使用gydF4y2Ba
saveasgydF4y2Ba
功能,包括报告中的图。gydF4y2Ba
截图是不会被接受的gydF4y2Ba
。讨论阴谋的结果,例如,“gydF4y2Ba
图1显示了Y数量gydF4y2Ba
X数量的函数。我们观察到结果上几句话。”gydF4y2Ba
我写的这段代码:(部分b和c编写之前,因为他们必须在函数)gydF4y2Ba
% %部分gydF4y2Ba
f = @(年代,ir)β* *我/ N;gydF4y2Ba
g = @(年代,ir)β* s / Nγ* *我;gydF4y2Ba
h = @(年代,ir)γ*我;gydF4y2Ba
% % b部分gydF4y2Ba
%定义参数gydF4y2Ba
β= 0.5;gydF4y2Ba
γ= 1/3;gydF4y2Ba
N = 7.9 e6;gydF4y2Ba
%总人口gydF4y2Ba
dt = 1;gydF4y2Ba
%时间步gydF4y2Ba
t_end = 200;gydF4y2Ba
%结束时间gydF4y2Ba
%定义初始条件gydF4y2Ba
(1)= 7.9 e6 - 10;gydF4y2Ba
%易感人群gydF4y2Ba
(1)= 10;gydF4y2Ba
%被感染的人群gydF4y2Ba
R (1) = 0;gydF4y2Ba
%恢复人口gydF4y2Ba
%使用RK4先生模拟模型gydF4y2Ba
为gydF4y2Ba
t = 1: t_endgydF4y2Ba
[S (t + 1),我(t + 1)、R (t + 1) = RK4(@(年代,ir)β* *我/ N, @(年代,ir)β* S / N -γ* *我,@(年代,ir)γ*我,dt, S (t),我(t)、R (t));gydF4y2Ba
结束gydF4y2Ba
% % c部分gydF4y2Ba
%计算比率gydF4y2Ba
Sr = S / N;gydF4y2Ba
Ir =我。/ N;gydF4y2Ba
Rr = R。/ N;gydF4y2Ba
%绘制结果gydF4y2Ba
情节(0:t_end、老gydF4y2Ba
“b”gydF4y2Ba
,0:t_end,红外光谱、gydF4y2Ba
“r”gydF4y2Ba
,0:t_end, Rr,gydF4y2Ba
‘g’gydF4y2Ba
,gydF4y2Ba
“线宽”gydF4y2Ba
2);gydF4y2Ba
标题(gydF4y2Ba
“香港流感模型爵士(1968)在纽约的gydF4y2Ba
);gydF4y2Ba
包含(gydF4y2Ba
的时间(天)gydF4y2Ba
);gydF4y2Ba
ylabel (gydF4y2Ba
人口的比例gydF4y2Ba
);gydF4y2Ba
传奇(gydF4y2Ba
“敏感”gydF4y2Ba
,gydF4y2Ba
“感染”gydF4y2Ba
,gydF4y2Ba
“恢复”gydF4y2Ba
);gydF4y2Ba
saveas (gcfgydF4y2Ba
“SIR_model.png”gydF4y2Ba
);gydF4y2Ba
函数gydF4y2Ba
[Skp1, Ikp1 Rkp1] = RK4 (f, g, h, dt, Sk,反向,Rk)gydF4y2Ba
%计算易感,感染和恢复tkp1人口gydF4y2Ba
%利用四阶龙格-库塔方法gydF4y2Ba
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %gydF4y2Ba
%的输入:gydF4y2Ba
% f:函数处理的颂歌gydF4y2Ba
% g:函数处理的颂歌gydF4y2Ba
% h:函数处理的第三颂歌gydF4y2Ba
% dt:时间步gydF4y2Ba
在tk % Sk:易感人群gydF4y2Ba
在tk %翼:感染人群gydF4y2Ba
在tk % Rk:恢复人口gydF4y2Ba
%输出:gydF4y2Ba
在tkp1 % Skp1:易感人群gydF4y2Ba
在tkp1 % Ikp1:感染人群gydF4y2Ba
% Rkp1: tkp1人口中恢复过来gydF4y2Ba
%定义常量gydF4y2Ba
c1 = dt * f (Sk、反向、Rk);gydF4y2Ba
c2 = dt * g (Sk + 0.5 * c1,本土知识+ 0.5 * c1, Rk);gydF4y2Ba
c3 = dt * g (Sk + 0.5 * c2,本土知识+ 0.5 * c2, Rk);gydF4y2Ba
c3, c4 = dt * h (Sk +本土知识+ c3, Rk);gydF4y2Ba
%计算新值gydF4y2Ba
Skp1 = Sk + 1/6 * (c1 + 2 * c2 + 2 * c3 + c4);gydF4y2Ba
Ikp1 =本土知识+ 1/6 * (c1 + 2 * c2 + 2 * c3 + c4);gydF4y2Ba
Rkp1 = Rk + 1/6 * (c1 + 2 * c2 + 2 * c3 + c4);gydF4y2Ba
结束gydF4y2Ba
正如你所看到的,我定义f开头,但我越来越错误:无法识别fiunction或变量f无论我做什么,我真的很需要帮助。谢谢你!gydF4y2Ba
5个评论gydF4y2Ba
答案(0)gydF4y2Ba
另请参阅gydF4y2Ba
类别gydF4y2Ba
找到更多的在gydF4y2Ba常微分方程gydF4y2Ba在gydF4y2Ba帮助中心gydF4y2Ba和gydF4y2Ba文件交换gydF4y2Ba