2017-09-19 4 views
1

この関数をOctaveでプロットしようとしていますが、エラーが発生します。私は正常に他の関数をプロットしましたが、何らかの理由でこれは動作しません。関数をプロットしようとするとオクターブエラーが発生するN * log2(N)

N=[1:1:50]; 

y1Values = N*log2(N); 

%plot (n, y1Values, 'LineWidth',2, n,y2Values, 'LineWidth',3); 

plot (N, [ y1Values' ], 'LineWidth',3); 

legend("e^N"); 

これは、このエラー

error: asstemp: operator *: nonconformant arguments (op1 is 1x50, op2 is 1x50) 

エラー生成します。私は*が問題になる理由を知らない行2列10

で asstempから呼び出されます。それは他の表現のどれとも同じではありません。表現を別の方法で書く必要がありますか?

答えて

2

Nはベクトルであるため、log2(N)はベクトルを返しますので、2つのベクトルを乗算しようとしています。しかし、*は行列乗算です。あなたが望むのは、エレメンツ乗法です(.*):y1Values = N.*log2(N);

関連する問題