【问题标题】:Error using quad in Matlab在 Matlab 中使用四边形时出错
【发布时间】:2019-11-12 23:30:58
【问题描述】:

我在 matlab 中有一个匿名函数:f=@(x) x/(1+x^4)。我想将它从 0 到 1 与 quad 集成,但由于某种原因,mpower 抱怨它不能采用x^4,因为“输入必须是标量和方阵。”如果我用x*x*x*x 替换x^4,我会得到“使用==> mtimes 时的错误,内部矩阵尺寸必须一致。”这是完整的错误输出。

??? Error using ==> mpower
Inputs must be a scalar and a square matrix.

Error in ==> intapprox>@(x)x/(1+x^4) at 4
f=@(x) x/(1+x^4);

Error in ==> quad at 77
y = f(x, varargin{:});

Error in ==> intapprox at 27
area = quad(f,0,1);

【问题讨论】:

    标签: matlab


    【解决方案1】:

    使用f=@(x) x./(1+x.^4);./.^,因为您不想进行矩阵除法和幂运算。然后我得到了

    >> area = quad(f,0,1)
    area =
    
        0.3927
    

    与pi/8的解析值一致。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多