2017-09-19 69 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)也返回一個向量,所以你試圖乘以兩個向量。但是*是一個矩陣乘法。你想要的是elemenwise乘法(.*):y1Values = N.*log2(N);