我在 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;

操作符中的 . 很微妙,在处理标量时不是必需的;但是,如果您在处理多维数组时想要元素行为,则必须使用它。

同样为了与通用约定保持一致,我建议切换 fx,这样你就有了一个函数 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/

10-12 19:01