【问题标题】:error plotting function using matlab使用matlab绘制误差函数
【发布时间】:2012-03-19 13:49:08
【问题描述】:

我正在尝试绘制一个函数,但我收到一个错误,因为我是新手,所以我不知道如何修复它。

 f=-10:0.001:10;
 >> w=1/sqrt(4+(2*pi*f)^2);
 ??? Error using ==> mpower
 Inputs must be a scalar and a square matrix.
 To compute elementwise POWER, use POWER (.^) instead.

错在哪里?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    ^矩阵 幂运算符,mpower。语法A^n 尝试将(方)矩阵A 提高到n 次方。如果A 不是方阵(在您的示例中,它是向量),这显然会失败。

    由于您的用户名包含 eng 并且您发布的是有关 MATLAB 的帖子,我假设您是一名工科学生 - 您的数学入门课程应该涵盖矩阵数学,以及为什么 A * A 仅定义为正方形 A .

    您实际上需要 标量 运算符.^,如A.^n。这会将A 的每个元素提升到n 次方。

    【讨论】:

    • 还有w 你可能是指角频率omega。仅仅因为 \omega 看起来像 w 并不意味着你应该这样命名它。 ;)
    • 好吧,我按照您的建议尝试了,但收到此错误:矩阵尺寸必须一致。
    • 同样的错误。例如,考虑f = -10:1:10; g = 1 / f。请阅读arithmetic operators. 的文档第一个是免费的,但您可以自己弄清楚第二个。 ;)
    • 一般情况下,除非您真的打算进行矩阵数学运算,否则请始终使用加点版本的数学运算符。
    【解决方案2】:

    错误正是错误消息表明您有错误的地方。由于您是 Matlab 的新手,而且我很恶毒,我认为这对您学习自己解决这个问题很有用。仔细阅读错误信息的最后一行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多