我试图在Octave中绘制这个函数,我收到一个我不明白的错误。我已经成功地绘制了其他函数,但由于某种原因,这个函数无法正常工作。
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栏上讨论
我不知道为什么*会有问题。它没有任何其他表达式。我是否需要以不同的方式编写表达式?
答案 0 :(得分:2)
由于N
是向量log2(N)
,因此也会返回一个向量,因此您尝试将两个向量相乘。但*
是矩阵乘法。你想要的是元素乘法(.*
):y1Values = N.*log2(N);