我想让两个线条图Ckkk和Ckk出现在同一个图上。上述错误不断发生。我已经检查了类似的问题,并没有任何修复有帮助。
代码如下
function cancer()
clear all;
clc;
t0=0;tend=60;nt=tend;
dt=(tend-t0)/(nt-1);
t=t0:dt:tend;
mambda=0.75;nambda=0.50;lambda=0.25;phi=0.0;psi=0.0;
%nu cell kill strength
%nu=zeros(length(t));
%inu= find(t>=40);
%nu(inu)=0.12;
%mu cell kill strength
%mu=zeros(length(t));
%inu = t>=40;
%mu(inu)=0.22;
%lu cell kill strength
%lu=zeros(length(t));
%inu= t>=40;
%lu(inu)=0.32;
C(1)=100;Ca=100;Cb=100;Ct=100;
Ctt=100;Cttt=100;Cx=100;Ckk=100;Ck=100;Ckkk=100;K(1)=300;
for i=1:length(t)-1
%Equation ?c
Cx(i+1)=Cx(i)+dt*(lambda*Cx(i));
%Equation ?c(1-c/K)with different ? values.
Ck(i+1)=Ck(i)+dt*(lambda*Ck(i)*(1-(Ck(i)/K(i))));
Ckk(i+1)=Ckk(i)+dt*(nambda*Ckk(i)*(1-(Ckk(i)/K(i))));
Ckkk(i+1)=Ckkk(i)+dt*(mambda*Ckkk(i)*(1-(Ckkk(i)/K(i))));
%Gompertz Growth Equations with different ? values.
C(i+1)=C(i)+dt*(-lambda*C(i)*log(C(i)/K(i)));
%Anti-tumor treatment induces a tumor cell kill with strength 0?nu?1.
%Ct(i+1)=Ct(i)+dt*(-lambda*Ct(i)*log(Ct(i)./K(i)))-nu(i).*Ct(i);
%Anti-angiogenic treatment
K(i+1)=K(i)+dt*(phi*C(i)-psi*K(i).*((C(i)).^(2/3)));
当我调用绘图功能时,绘图上出现错误
plot(Ckkk,'b',Ckk,'r');
xlabel('Time In Days')
ylabel('Number of Cells')
end
答案 0 :(得分:1)
就像错误所说的那样,如果提供了多个X
坐标矩阵,则需要指定Y
坐标。在您的情况下,您有两个,Ckkk
和Ckk
。如果您需要将它们绘制为两个独立变量,则下面有一个解决方案
figure; clf;
plot(t, Ckkk,'b', t,Ckk,'r');
另一种解决方案是
figure; clf;
hold on;
plot(t, Ckkk,'b');
plot(t, Ckk,'r');
hold off;
在稍后的版本中,您实际上可以跳过t
,因为您为每个Y
函数提供了一个plot
矩阵。
在此处发布问题之前,通常最好先查看documentation。