2017-04-10 82 views
1

整个代码Matlab的阴谋4个vecotrs

clear;clc 
d1= 0.34; 
d2= 0.15; 
d3=0.27; 
deltat = 1; 
W = 1000.0; 
X = 0.0; 
Y = 0.0; 
Z=0.00; 
for t = 1:30 
W(t+1) = W(t) - deltat*d1*W(t); 
X(t+1) = X(t) - deltat*d2*X(t); 
X(t+1) = X(t+1) + deltat*d1*W(t); 
Y(t+1) = Y(t)- deltat*d3*Y(t); 
Y(t+1) = Y(t+1) + deltat*d2*X(t); 
Z(t+1)=Z(t); 
Z(t+1)=Z(t+1) + deltat*d3*Y(t); 
end 
figure(1) 
plot(W(t),X(t),Y(t),Z(t)) 
title('Radioactive Decay','FontSize',14) 
legend('W','X','Y','Z'); 
xlabel('Time (days)'); 
ylabel('Kilograms'); 
W(30) 
X(30) 
Y(30) 
Z(30) 

我有

plot(W(t),X(t),Y(t),Z(t)) 

问题故障部位

我试图绘制W,X, Y和Z在一个图上一起绘制,以显示3点的变化我已经分配了0天的时间,但是看起来我所输入的格式是错误的,因为最终的结果是空的。

回答

1

发生此问题的原因是绘图函数仅适用于二维线图。文档:https://se.mathworks.com/help/matlab/ref/plot.html

你写它的方式是在一个轴上绘制W(t),在另一个轴上绘制X(t)等等,总计为四个维度。

使用

plot(W); hold on; 
plot(X); hold on; 
plot(Y); hold on; 
plot(Z); 
+0

谢谢!这个工作的概念。我只需删除(t)并将这些字母大写以获得正确的图形。 – Jack

+0

答案现在被编辑为更正确的解决方案。 – matiastofteby