我怎么能画出曲线具有不同x范围吗?

9的观点(30天)
我想画三个范围x和三个不同的功能在一个相同的图形在matlab。第一个范围是1 < x < 20。第二个范围从20 < x < 30最后范围是30 < x < 200。y函数的欧拉方法,但使用不同的参数。我已经输入欧拉方法的代码,但是我不知道如何结合x的图表有不同的范围。
10评论
马修•诺伊
马修•诺伊 2021年8月25日
如果你同意,我将再次更新后的代码在回答部分,所以你可以“接受”它如果你好吗?

登录置评。

接受的答案

马修•诺伊
马修•诺伊 2021年8月25日
基本上,从你的初始请求更新的代码作为猜测
清晰的所有;clc;
% % r = 3
tau_E = 3.69;%的平均时间接触状态
gamma_1 = 1 / tau_E;
tau_I = 3.48;%的平均时间处于感染状态
gamma_2 = 1 / tau_I;
E0 = 10;I0 = 0;N0 = 6 e7;
r3 = 3, p = 0.01;
f = @ (u3,β,gamma_1 gamma_2)
(β* u3 (1) * u3 (3),
β* u3 (1) * u3 (3) - gamma_1 * u3 (2),
gamma_1 * u3 (2) - gamma_2 * u3 (3),
(1 - p) * gamma_2 * u3 (3)];
dt = 0.01;
天= 20;% %时间:第一天到20
t3 =(1:1:天);% %时间:第一天到20
u3 = 0(4天);% %和锰
u3 (1) = (N0, E0, 0, 0);
N = N0;beta3 = r3 * gamma_2 / N;
= 1天:Days-1% %和锰
u3_old = u3(天:);
k = 1:10 0
u3_new = u3_old + dt * f (u3_old beta3, gamma_1, gamma_2);
u3_old = u3_new;
结束
u3(+ 1天:)= u3_old (:);
结束
% % r = 1
tau_E = 3.69;%的平均时间接触状态
gamma_1 = 1 / tau_E;
tau_I = 3.48;%的平均时间处于感染状态
gamma_2 = 1 / tau_I;
E0 = 10;I0 = 0;N0 = 6 e7;
r1 = 1, p = 0.01;
f = @ (u1,β,gamma_1 gamma_2)
(β* u1 (1) * u1 (3),
β* u1 (1) * u1 (3) - gamma_1 * u1 (2),
gamma_1 * u1 (2) - gamma_2 * u1 (3),
(1 - p) * gamma_2 * u1 (3)];
dt = 0.01;
天= 11;%时间:20到30天
% t1 =(20:1:天);% t = t ';
t1 = [t3(结束):1:t3(结束)+ Days-1);%时间:20到30天
u1 = 0(4天);% %和锰
% u1 (1:) = (N0, E0, 0, 0);
u1 (1) = u3(最终:);% %软木。内格罗蓬特:使用去年跑最后的样本作为新的初始条件
N = N0;β= r1 * gamma_2 / N;
= 1天:Days-1% %和锰
u1_old = u1(天:);
k = 1:10 0
u1_new = u1_old + dt * f (u1_old,β,gamma_1 gamma_2);
u1_old = u1_new;
结束
u1(+ 1天:)= u1_old (:);
结束
% % r = 0.8
tau_E = 3.69;%的平均时间接触状态
gamma_1 = 1 / tau_E;
tau_I = 3.48;%的平均时间处于感染状态
gamma_2 = 1 / tau_I;
E0 = 10;I0 = 0;N0 = 6 e7;
r2 = 0.8, p = 0.01;
f = @ (u2,β,gamma_1 gamma_2)
(β* u2 (1) * u2 (3),
β* u2 (1) * u2 (3) - gamma_1 * u2 (2),
gamma_1 * u2 (2) - gamma_2 * u2 (3),
(1 - p) * gamma_2 * u2 (3)];
dt = 0.01;
天= 171;%时间:30至200天
% t2 =[30:1的天):;% t = t ';
t2 = (t1(结束):1:t1(结束)+ Days-1);%时间:30至200天
u2 = 0(4天);% %和锰
% u2 (1:) = (N0, E0, 0, 0);
u2 (1:) = u1(最终:);% %软木。内格罗蓬特:使用去年跑最后的样本作为新的初始条件
N = N0;beta2 = r2 * gamma_2 / N;
= 1天:Days-1% %和锰
u2_old = u2(天:);
k = 1:10 0
u2_new = u2_old + dt * f (u2_old beta2, gamma_1, gamma_2);
u2_old = u2_new;
结束
u2(+ 1天:)= u2_old (:);
结束
图(4);
持有
情节(t3, u3 (:, 3))
情节(t1, u1 (:, 3))
情节(t2, u2 (:, 3))
标题(“R = 3 / 1/0.8”);
包含(“天”);
%的传说(u3 (:, 3),“u1 (:, 3)”,“u2 (:, 3)”);
传奇(' R = 3 ',“R = 1”,' R = 0.8);
持有
%

更多的答案(0)

标签

社区寻宝

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

开始狩猎!