我在Matlab中绘制以下函数时遇到问题:
x = 10*((sin(pi*f*0.1))/(pi*f*0.1))^2;
Run Code Online (Sandbox Code Playgroud)
我正在使用此代码:
f = -50:0.1:50;
x = 10*((sin(pi*f*0.1))/(pi*f*0.1))^2;
plot (f,x);
Run Code Online (Sandbox Code Playgroud)
我可以使用我在谷歌上找到的图形工具绘制函数,但MATLAB只是给我一个空白的图.轴也不符合我应该得到的.
有谁知道为什么这个图表不应该出现?
您需要使用逐元素除(./)而不是mrdivide(/)来尝试求解线性系统.同样,您需要使用element-wise power(.^)而不是矩阵幂mpower(^).
x = 10 * ((sin(pi * f * 0.1)) ./ (pi * f * 0.1)).^2;
Run Code Online (Sandbox Code Playgroud)
在.与标量工作时,在操作是微妙的,没有必要的; 但是,如果在使用多维数组时需要按元素行为,则必须使用它.
为了与常见的约定保持一致,我建议切换f,x这样你就有了一个功能f(x)
x = -50:0.1:50;
f = 10 * ((sin(pi * x * 0.1)) ./ (pi * x * 0.1)).^2;
plot(x, f)
Run Code Online (Sandbox Code Playgroud)