使用./ Matrix尺寸时出错必须同意

时间:2012-12-03 22:27:29

标签: matlab

我试图用t,x,l变量绘制这段代码......

我收到此错误“使用./时出错 矩阵维度必须一致。

Uentitled5中的错误(第16行) 一个= 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)')

3 个答案:

答案 0 :(得分:4)

您使用的三个向量xtL必须具有相同数量的元素。您可以通过更改正在使用的步长手动修复此问题,即

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个点。

答案 1 :(得分:0)

是的,那是因为L是1x334而x是1x1001。要逐个元素划分,他们需要具有相同数量的元素。

答案 2 :(得分:0)

x以0.1为增量存储0到100 L以0.3为增量存储0到100 因此,L中的元素数量小于x中的元素数量 如果x有元素x = {x1 x2 x3}且L = {L1 L2 L3},则x./L应该给出
ans = {x1 / L1 x2 / L2 x3 / L3}。如果分子和分母数组中的元素数量不相同,那么Matlab将给出错误