Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab中使用quad的误差分析_Matlab - Fatal编程技术网

Matlab中使用quad的误差分析

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>

我在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>@(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的分析值一致