在Matlab中使用quad时出错

时间:2012-03-01 06:19:43

标签: matlab quad

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

??? 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);

1 个答案:

答案 0 :(得分:3)

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

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

    0.3927

这与pi / 8的分析值一致。