我在 Matlab 中绘制以下函数时遇到问题:
x = 10*((sin(pi*f*0.1))/(pi*f*0.1))^2;
我正在使用此代码:
f = -50:0.1:50;
x = 10*((sin(pi*f*0.1))/(pi*f*0.1))^2;
plot (f,x);
我可以使用我在谷歌上找到的图形工具绘制函数,但 MATLAB 只是给了我一个空白图。轴也不符合我应该得到的。
有谁知道为什么这张图没有像它应该的那样出现?
最佳答案
您需要使用 element-wise division ( ./
) 而不是 mrdivide
( /
) 试图解决线性系统。同样,您需要使用逐元素 power
( .^
) 而不是矩阵幂 mpower
( ^
) 。
x = 10 * ((sin(pi * f * 0.1)) ./ (pi * f * 0.1)).^2;
操作符中的
.
很微妙,在处理标量时不是必需的;但是,如果您在处理多维数组时想要元素行为,则必须使用它。同样为了与通用约定保持一致,我建议切换
f
和 x
,这样你就有了一个函数 f(x)
x = -50:0.1:50;
f = 10 * ((sin(pi * x * 0.1)) ./ (pi * x * 0.1)).^2;
plot(x, f)
关于matlab - MATLAB 中的绘图函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42657537/