📄 antictlmodelb1k4k5.m
字号:
clc
clear
global f1 f2 d1 b1 k1 k2 b3 d3 k3 g4 k4 d4 g5 k5 d5 n m;
a1=1;%b10=a1;
a3=5;%k30=a3
a4=10;%k4=a4
a5=1;%k5=a5
f1=10;f2=1;d1=5; k1=0;
k2=1;
b3=100;k3=5;d3=0;%d3=1500;k3*x(4)=d3=n;%病毒;
g4=0.01; k4=0;d4=1;
g5=0.001; k5=0;d5=0.1;
x0=[1,0,0.02,1,0.1];
t0=[0,100];%时间长度
%现方程
%dx(1)= [f1*f2^2/(f2^2+(x(1)+x(2))^2)]*x(1)-d1*x(1)-b1*x(1)*x(3)+k1*x(5)*x(2)%健康细胞;
%dx(2)= [f1*f2^2/(f2^2+(x(1)+x(2))^2)]* x(2)+ b1*x(1)*x(3)-d1*x(2)-(k1+k2)*x(2)*x(5)%感染细胞;
%dx(3)=b3*x(2)-d3*x(3)-k3*x(3)*x(4)%病毒;
%dx(4)=g4+k4*x(3)*x(4)-d4*x(4)%抗体响应响应
%dx(5)=g5+k5*x(2)*x(5)-d5*x(5)%CTL
n=10;m=10;
for i1=1:1:n
b1=a1+(n-1)*5;%b1=b1+(n-1)*5;运行发现不是预计的,而是在B1上不断累加,达到几千.
for i2=1:1:n
k3=a3+(n-1)*5;%k3=k3+(n-1)*5;
for j=1:1:m
k4=a4+(n-1)*20; %k4=k4+(n-1)*20;
for k=1:1:n
k5=a5+(n-1)*20;%k5=k5+(n-1)*20;
[t,x]=ode15s('antictl',t0,x0);
savename=['c:\matlab\b1\MATb1-' int2str(b1) '-k3-' int2str(k3) '-k4-' int2str(k4) '-k5-' int2str(k5) '.mat'];
savecomm=['save ' savename];% 保存所有变量;
eval(savecomm)
subplot(3,2,1);
plot(t,x(:,1),'-');xlabel('时间t');ylabel('健康细胞数量x1')
subplot(3,2,2)
plot(t,x(:,2),'-');xlabel('时间t');ylabel('感染细胞数量x2')
subplot(3,2,3)
plot(t,x(:,3),'-');xlabel('时间t');ylabel('病毒数量x3')
subplot(3,2,4)
plot(t,x(:,4),'-');xlabel('时间t');ylabel('抗体数量x4')
subplot(3,2,5)
plot(t,x(:,5),'-');xlabel('时间t');ylabel('CTL数量x5')
subplot(3,2,6)
plot(t,x(:,1)+x(:,2),'-');xlabel('时间t');ylabel('肝细胞数量x1+x2')
saveas(gcf,['C:\matlab\b1\EMFb1-' int2str(b1) '-k3-' int2str(k3) '-k4-' int2str(k4) '-k5-' int2str(k5) '.emf'])
saveas(gcf,['C:\matlab\b1\FIGb1-' int2str(b1) '-k3-' int2str(k3) '-k4-' int2str(k4) '-k5-' int2str(k5) '.fig'])
end
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -