Matlab中使用quad的误差分析
我在matlab中有一个匿名函数:Matlab中使用quad的误差分析,matlab,Matlab,我在matlab中有一个匿名函数:f=@(x)x/(1+x^4)。我想用quad将它从0积分到1,但出于某种原因,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>
f=@(x)x/(1+x^4)
。我想用quad将它从0积分到1,但出于某种原因,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);
使用f=@(x)x./(1+x.^4)
即/
和^
因为您不想进行矩阵除法和幂运算。然后我得到
>> area = quad(f,0,1)
area =
0.3927
与pi/8的分析值一致。使用f=@(x)x./(1+x.^4)
即/
和^
因为您不想进行矩阵除法和幂运算。然后我得到
>> area = quad(f,0,1)
area =
0.3927
这与pi/8的分析值一致