2017-06-13 54 views
-1

我想使两条线图Ckkk和Ckk出现在同一图上。上述错误不断发生。我检查过类似的问题,没有任何修复程序有帮助。数据必须是单个矩阵Y或对的列表X,Y

的代码如下

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

'size(Ckkk)'和'size(Ckk)'是什么? –

+0

Ckkk和Ckk的初始值是100.或者那不是你要求的? –

+0

Nop。我问什么是'siza(Ckkk)'。从字面上看。复制粘贴在MATLAB中并运行它 –

回答

1

就像错误说,你需要指定如果超过了X坐标提供了一个单一的Y坐标矩阵。在你的情况下,你有两个,CkkkCkk。如果你需要绘制那些作为两个独立的变量,一个解决方案是低于

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通常是个好主意。

+0

谢谢,但即使在此修复程序后,程序仍然给出错误。让我试着解决它。 –

相关问题