Мне нужна помощь в построении нескольких линий для разных параметров, скажем, \ beta для разных значений (\beta= 0.1, 0.2, 0.4 etc)
, график будет для dy_2/dt
, что означает, что только plot(T, y_2( :,2)
или plot(T,y_2(:,3))
тогда график будет временем против Заражены для разных значений \ бета. Я пробовал следующий код:
function EulerSIRTenga()
clear all; clc;
rho = 0.7; Lambda = 0.4; beta = 0.9;theta1 = 0.1;
theta2 = 0.2;theta3 = 0.1;alpha = 0.33;omega = 0.4;psi = 0.3;
R0 = rho * beta/(theta1+ Lambda)
options =odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-4 1e-4 1e-4]);
[T,Y] = ode45(@SIRmodel,[0 365],[0.9,0.7,0.5,0.15,0.35],options);
plot(T, Y(:,1),'g',T,Y(:,2),'r',T,Y(:,3),'k',T,Y(:,4),'b',T,Y(:,5),'m', 'Linewidth',2);
xlabel('Time','FontSize',14);
ylabel('Proportion of population','FontSize',14)
legend('Susceptibles','Infected', 'AIDS on ART','Detectable VL','Undetectable VL')
title('Deterministic solution for the proportion of population vs time','FontSize',14);
grid on
box on
function dy=SIRmodel(t,y)
dy=zeros(5,1);
dy(1)= rho*Lambda - (beta*y(2)+Lambda-alpha*(y(3)+y(4)+y(5)))*y(1);
dy(2)=(1-rho)*Lambda+(beta*y(1)-theta1-Lambda+alpha*(y(3)+y(4)+y(5)))*y(2);
dy(3)= theta1*y(2)+ theta2*y(4)+theta3*y(5)-(alpha+omega+Lambda-alpha*(y(3)+y(4)+y(5)))*y(3);
dy(4)= psi*omega*y(3)-(alpha+theta2+Lambda-alpha*(y(3)+y(4)+y(5)))*y(4);
dy(5)=(1-psi)*omega*y(3)-(alpha-theta3+Lambda-alpha*(y(3)+y(4)+y(5)))*y(5);
end
end
Я хочу, чтобы график выглядел как на рисунке ниже:
Мне нужно чтобы варьировать значения \ beta для разных скоростей.
Это цифра, которую производят мои коды введите описание изображения здесь