我试图用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)')
答案 0 :(得分:4)
您使用的三个向量x
,t
和L
必须具有相同数量的元素。您可以通过更改正在使用的步长手动修复此问题,即
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将给出错误