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)')
4

3 に答える 3

4

使用している3つのベクトル、、、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ポイントが与えられます。

于 2012-12-04T00:59:30.620 に答える
0

はい、それは L が 1x334 で x が 1x1001 であるためです。要素ごとに分割するには、同じ数の要素が必要です。

于 2012-12-03T22:37:58.643 に答える
0

x は 0 ~ 100 を 0.1 の増分で
格納します L は 0 ~ 100 を 0.3 の増分で格納します
したがって、x に要素 x = {x1 x2 x3} および L = {L1 がある場合、L の要素数は x の要素数よりも少なくなります。 L2 L3} の場合、 x./L は
ans = {x1/L1 x2/L2 x3/L3} となるはずです。分子配列と分母配列の要素数が同じでない場合、Matlab はエラーを返します。

于 2012-12-04T06:47:36.573 に答える