[英]Plotting function in MATLAB
我在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);
我可以使用我在Google上找到的图形工具来绘制函数,但MATLAB只是给我一个空白图。 轴与我应该得到的都不对应。
有谁知道为什么这个图不应该出现?
您需要使用按元素除法( ./
)而不是尝试解决线性系统的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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.