2012-12-03 137 views
3

我試圖繪製了此代碼,T,X,L變量...錯誤使用./矩陣尺寸必須同意

我得到這個錯誤使用./ 矩陣尺寸必須同意「錯誤

Uentitled5(第16行)中的錯誤 a = cos(Lambda1。*(x./L));「

t=1:0.5:300; 
x=0:0.1:100; 
L=0:0.3:100; 
Bi=0.01; 
A1=1.0017 
Lambda1=0.0998 
a=cos(Lambda1.*(x./L)); 
theta=(A1.*exp(-(Lambda1.^2).*t).*a); 
for i=t 
    plot(t,theta,'-') 
    for j=x 
     plot (x,theta,'-','green') 
    end 
    for k=L 
     plot (L,theta,'-','red') 
    end 
end 
title('Dimensionless Temperature for Plane Wall ') 
xlim([0 2]) 
ylim([0 350]) 
xlabel('\Theta(0)') 
ylabel('t(Time in Seconds)') 
+1

你有2個向量,一個有1001個元素,另一個有334個元素。你究竟如何提出這兩個元素明智的劃分? – Praetorian

回答

0

是的,那是因爲L是1x334而x是1x1001。要按元素劃分元素,它們需要具有相同數量的元素。

+0

我該如何解決這個問題?請耐心等待我仍然是初學者 –

4

您使用的三個向量,x,tL必須具有相同數量的元素。可以通過改變要使用的步長大小手動解決這個問題,即

x = 0:0.1:100; 
L = 0:0.1:100; 
t = 0:0.3:300; 

的另一種方式來定義明確定義的元素的數目是`linspace」向量。您可以使用:

x = linspace(0, 100, 1001); 
L = linspace(0, 100, 1001); 
t = linspace(0, 300, 1001); 

這將使您在指定的範圍內爲每個矢量指定1001個點。

0

X存儲0〜100在〜100 0.1
大號存儲0的增量在0.3
增量所以在L個元素的數量小於在X 元件的數量,如果x的元素X = { x1 x2 x3}並且L = {L1 L2 L3},那麼x./L應該給出:其中x = 1/L1×2/L2×3/L3}。如果分子和分母數組中元素的數目不同,那麼Matlab將給出錯誤