我在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);
答案 0 :(得分:3)
使用f=@(x) x./(1+x.^4);
,即./
和.^
,因为您不想进行矩阵除法和幂。然后我得到
>> area = quad(f,0,1)
area =
0.3927
这与pi / 8的分析值一致。