我试图解决一个问题但我继续这个错误“无法识别的函数或变量f”虽然我试图定义一个匿名函数callingRK4之前和之后gydF4y2Ba

59视图(30天)gydF4y2Ba
雅苒gydF4y2Ba
雅苒gydF4y2Ba 2023年5月8日在福音11:24gydF4y2Ba
我试图解决这个问题: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

登录置评。gydF4y2Ba

答案(0)gydF4y2Ba

类别gydF4y2Ba

找到更多的在gydF4y2Ba常微分方程gydF4y2Ba在gydF4y2Ba帮助中心gydF4y2Ba和gydF4y2Ba文件交换gydF4y2Ba

标签gydF4y2Ba

s manbetx 845


释放gydF4y2Ba

R2020bgydF4y2Ba

社区寻宝gydF4y2Ba

找到宝藏在MATLAB中央,发现社区如何帮助你!gydF4y2Ba

开始狩猎!gydF4y2Ba