【问题标题】:Plotting function in MATLABMATLAB 中的绘图函数
【发布时间】:2017-03-07 20:19:20
【问题描述】:

我在 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 只是给了我一个空白图。轴也不符合我应该得到的。

有谁知道为什么这张图没有按应有的方式显示?

【问题讨论】:

    标签: matlab plot


    【解决方案1】:

    您需要使用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)
    

    【讨论】:

    • 完美。非常感谢。
    • 我怀疑他是另一个答案相同的回答者
    • @Sardar_Usama 哈哈,我想通了。脾气暴躁的人:)
    • @smith1993 如果此答案解决了您的问题,请点击此答案左侧的 mark it as accepted 标记。
    • @smith1993 如果这回答了您的问题,请考虑接受此答案。谢谢:)我也赞成作为补偿:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-17
    • 1970-01-01
    • 2017-10-02
    • 1970-01-01
    • 2011-12-21
    相关资源
    最近更新 更多