我在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只是给我一个空白的图。轴不对应我应该得到的。
有谁知道为什么这个图形不应该出现?
答案 0 :(得分:6)
您需要使用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)