积分
数值积分
描述
例子
反常积分
下限奇点
创建函数 .
Fun = @(x)log(x);
求积分x = 0
来x = 1
使用默认的容错。
格式长Q1 =积分(fun,0,1)
Q1 = -1.000000010959678
再次计算这个积分,这次要精确到小数点后12位。集RelTol
趋近于0积分
只尝试满足绝对容错。
Q2 =积分(fun,0,1,“RelTol”0,“AbsTol”1 e-12)
Q2 = -1.000000000000010
基于路径点的复杂轮廓积分
创建函数 .
Fun = @(z) 1./(2*z-1);
在复平面上沿三角形路径积分0
来1 + 1我
来1-1i
来0
通过指定路径点。
Q =积分(fun,0,0,“锚点”,(1 + 1我1-1i])
Q = 0.0000 - 3.1416i
向量值函数
创建向量值函数
从x = 0
来x = 1
.指定“ArrayValued”,真的
求一个数组值或向量值函数的积分。
Fun = @(x)sin((1:5)*x);Q =积分(fun,0,1,“ArrayValued”,真正的)
q =1×50.4597 0.7081 0.6633 0.4134 0.1433
振荡函数的反常积分
创建函数 .
Fun = @(x)x.^5.*exp(-x).*sin(x);
求积分x = 0
来x =正
,调整绝对公差和相对公差。
格式长q = integral(fun,0,Inf,“RelTol”1 e-8“AbsTol”1 e-13)
Q = -14.999999999998360
输入参数
有趣的
- - - - - -被积函数
函数处理
被积函数(Integrand),指定为函数句柄,它定义要从其进行积分的函数xmin
来xmax
.
对于标量值问题,函数Y =乐趣(x)
必须接受向量参数,x
,并返回一个向量结果,y
.这通常意味着有趣的
必须使用数组操作符而不是矩阵操作符。例如,使用.*
(次
)而不是*
(mtimes
).如果你设置“ArrayValued”
选项真正的
,然后有趣的
必须接受标量并返回固定大小的数组。
xmin
- - - - - -下限x
实数|复数
下限x,指定为实(有限或无限)标量值或复(有限)标量值。如果任何一xmin
或xmax
是复杂的积分
近似于路径积分xmin
来xmax
在一条直线上。
数据类型:双
|单
复数支持:万博1manbetx是的
xmax
- - - - - -上限x
实数|复数
上限x,指定为实数(有限或无限)或复数(有限)。如果任何一xmin
或xmax
是复杂的,积分
近似于路径积分xmin
来xmax
在一条直线上。
数据类型:双
|单
复数支持:万博1manbetx是的
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:积分(有趣,a、b AbsTol, 1 e-12)
将绝对容错设置为精确的大约12位小数点后数位。
AbsTol
- - - - - -绝对容错
1平台以及
(默认)|非负实数
绝对容错,指定为由逗号分隔的对组成“AbsTol”
一个非负实数。积分
使用绝对容错来限制绝对误差的估计,|问- - - - - -问|,问积分的计算值是和吗问是(未知的)确切值。积分
如果降低绝对容错,可能会提供更多的小数点后精度。
请注意
AbsTol
而且RelTol
一起工作。积分
可能满足绝对容错或相对容错,但不一定同时满足两者。有关使用这些公差的更多信息,请参见提示部分。
例子:积分(有趣,a、b AbsTol, 1 e-12)
将绝对容错设置为精确的大约12位小数点后数位。
数据类型:单
|双
RelTol
- - - - - -相对容错
1 e-6
(默认)|非负实数
相对容错,指定为逗号分隔的对,由“RelTol”
一个非负实数。积分
使用相对容错来限制相对误差的估计,|问- - - - - -问|/|问|,问积分的计算值是和吗问是(未知的)确切值。积分
如果降低相对容错,可能会提供更高的有效位数的精度。
请注意
RelTol
而且AbsTol
一起工作。积分
可能满足相对容错或绝对容错,但不一定同时满足两者。有关使用这些公差的更多信息,请参见提示部分。
例子:积分(有趣,a、b RelTol, 1 e-9)
将相对容错设置为大约9位有效数字。
数据类型:单
|双
ArrayValued
- - - - - -数组值函数标志
假
或0
(默认)|真正的
或1
数组值函数标志,指定为逗号分隔的对,由“ArrayValued”
数字或逻辑1
(真正的
)或0
(假
).将此标志设置为真正的
或1
为了表明有趣的
是接受标量输入并返回向量、矩阵或N-D数组输出的函数。
的默认值假
表明有趣的
接受向量输入并返回向量输出的函数。
例子:积分(有趣,a、b ArrayValued,真的)
指示被积函数是一个数组值函数。
路点
- - - - - -集成路点
向量
集成路径点,指定为逗号分隔的对,由“锚点”
一个实数或复数向量。使用路径点来指示积分区间中你希望积分器在初始网格中使用的点:
在函数感兴趣的特性(如局部极值)附近添加更多的计算点。
通过指定不连续点的位置,有效地对被积函数的不连续点进行积分。
通过指定复数作为路径点来执行复杂轮廓积分。如果
xmin
,xmax
,或路径点向量的任意入口为复平面,则在复平面上的直线路径序列上进行积分。在这种情况下,所有的积分极限和路径点都必须是有限的。
不要使用路径点来指定奇点。相反,分割区间,并将不同积分的结果与端点上的奇点相加。
例子:积分(有趣,a、b“锚点”,[1 + 1我1-1i])
指定沿积分区间的两个复路径点。
数据类型:单
|双
复数支持:万博1manbetx是的
提示
的
积分
函数试图满足:abs(q - q) <= max(AbsTol,RelTol*abs(q))
问
积分的计算值是和吗问
是(未知的)确切值。绝对公差和相对公差提供了一种平衡精度和计算时间的方法。通常,相对公差决定了积分的精度。然而,如果abs (q)
足够小,绝对公差决定了积分的精度。通常应同时指定绝对公差和相对公差。如果您指定单精度积分限制,或者如果
有趣的
返回单精度结果,您可能需要指定更大的绝对和相对容错。
参考文献
[1] L.F.香波”矢量自适应正交的MATLAB®”,计算与应用数学杂志《中国科学》,2008,pp.131-140。
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
必须启用对可变大小数组的支持。万博1manbetx
的
积分
函数不支持返回稀疏矩阵输出的函数句柄万博1manbetx。
线程环境
使用MATLAB®在后台运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
这个函数完全支持基于线程的环境。万博1manbetx有关更多信息,请参见在线程环境中运行MATLAB函数.
版本历史
在R2012a中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。