quad2d
数值计算二重积分,平铺的方法
描述
例子
计算二重积分
集成
在 和 。
有趣= @ (x, y) y。* sin (x) + x。* cos (y);Q = quad2d(有趣,π,2 *π,0,π)
Q = -9.8696
比较结果的真实价值积分, 。
-π^ 2
ans = -9.8696
被积函数在奇点集成边界
集成功能
在该地区 和 。这被积函数在原点是无限的(0,0),位于集成的边界地区。
有趣= @ (x, y) 1。/(sqrt(x + y) .* (1 + x + y).^2 ); ymax = @(x) 1 - x; Q = quad2d(fun,0,1,0,ymax)
Q = 0.2854
积分的真正价值 。
π/ 4 - 0.5
ans = 0.2854
的局限性quad2d
quad2d
首先映射集成到一个矩形的区域。因此,它可能很难整合在一个地区没有四条边或有一方,不能映射顺利一条直线。如果集成是成功,离开一些有用的策略单数
设置为默认值真正的
笛卡儿之间,改变和极坐标,或者将融入地区部分并添加部分集成的结果。
例如:
有趣= @ abs (x (x, y)。y ^ 2 +。^2- - - - - -0。25); c = @(x)-sqrt(1 - x.^2); d = @(x)sqrt(1 - x.^2); quad2d(fun,-1,1,c,d,“AbsTol”1 e-8…“FailurePlot”,真的,“奇异”、假);
警告:达到的最大数量评估函数(2000)。测试结果失败全球错误。
阴谋失败显示了两个困难的领域,附近的点(1,0)
和(1,0)
和附近的圆
。
改变的价值单数
来真正的
将应对几何奇异点在哪里(1,0)
和(1,0)
。更大的阴影区域可能需要细化,但可能不是困难的地区。
Q = quad2d(有趣,1,1,c, d,“AbsTol”1 e-8…“FailurePlot”,真的,“奇异”,真正的);
警告:达到的最大数量评估函数(2000)。通过全球错误测试结果。
从这里您可以利用对称性:
Q = 4 * quad2d(有趣,0 1 0 d“Abstol”1 e-8…“奇异”,真的,“FailurePlot”,真正的)
Q = 0.9817
然而,代码仍然非常努力在奇点附近。它可能无法提供更高的精度:
Q = 4 * quad2d(有趣,0 1 0 d“Abstol”1平台以及…“奇异”,真的,“FailurePlot”,真正的);
警告:达到的最大数量评估函数(2000)。通过全球错误测试结果。
在精度高,坐标的变化可能做得更好。
polarfun = @(θ,r)乐趣(r。* cos(θ),r。* sin(θ))。* r;Q = 4 * quad2d (polarfun 0π/ 2,0,1,“AbsTol”1平台以及);
最好把奇点在边界积分的区域分割为两个部分:
Q1 = 4 * quad2d (polarfun 0π/ 2,0,0.5,“AbsTol”5 e-11);Q2 = 4 * quad2d (polarfun 0π/ 2,0.5,1,“AbsTol”5 e-11);Q = Q1 +;
输入参数
有趣的
- - - - - -功能集成
函数处理
功能集成,指定为一个函数处理。这个函数Z =乐趣(X, Y)
必须接受二维矩阵X
和Y
相同的大小和返回一个矩阵Z
相应的值。因此,该函数必须是矢量化(也就是说,您必须使用elementwise运营商等。^
而矩阵等运营商^
)。函数的输入和输出必须单或双精度。
例子:@ x (x, y)。^ 2 - y ^ 2
数据类型:function_handle
a、b
- - - - - -x集成的极限
标量
x限制的集成,指定为标量。
数据类型:单
|双
复数的支持:万博1manbetx是的
c, d
- - - - - -y集成的极限
标量|函数处理
y限制的集成,指定为标量或函数处理。每个限制可以被指定为一个标量或一个函数处理。如果限制指定处理函数,那么它们的功能x限制的集成ymin = @x c (x)
和ymax = @ (x) d (x)
。函数处理ymin
和ymax
必须接受和返回矩阵的大小与相应的值。函数的输入和输出必须单或双精度。
数据类型:单
|双
|function_handle
复数的支持:万博1manbetx是的
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:quad2d (@ x (x, y)。* y。^2,0,1,0,2, 'AbsTol',1e-3)
指定集成的绝对宽容1 e - 3
。
AbsTol
- - - - - -绝对误差公差
1 e-5
(默认)|标量
绝对误差容限,指定为逗号分隔组成的“AbsTol”
和一个标量。
quad2d
试图满足ERRBND < = max (AbsTol RelTol Q * | |)
。这是绝对误差控制Q | |
是足够小,相对误差控制Q | |
比较大。一个默认的公差值没有指定公差时使用。的默认值AbsTol
是1 e-5。的默认值RelTol
是100 * eps(类(Q))
。这也是的最小值RelTol
。小RelTol
值会自动增加到默认值。
RelTol
- - - - - -相对误差公差
100 * eps(类(q))
(默认)|标量
相对误差容限,指定为逗号分隔组成的“RelTol”
和一个标量。
quad2d
试图满足ERRBND < = max (AbsTol RelTol Q * | |)
。这是绝对误差控制Q | |
是足够小,相对误差控制Q | |
比较大。一个默认的公差值没有指定公差时使用。的默认值AbsTol
是1 e-5。的默认值RelTol
是100 * eps(类(Q))
。这也是的最小值RelTol
。小RelTol
值会自动增加到默认值。
MaxFunEvals
- - - - - -最大数量的评估有趣的
2000年
(默认)|标量
最大数量的评估有趣的
,指定为逗号分隔两人组成的“MaxFunEvals”
和一个标量。使用这个选项来限制的次数quad2d
评估函数有趣的
。
FailurePlot
- - - - - -切换产生失败的阴谋
假
或0
(默认)|真正的
或1
切换产生失败的阴谋,指定为逗号分隔组成的“FailurePlot”
和一个数字或逻辑1
(真正的
)或0
(假
)。集FailurePlot
来真正的
或1
生成的图形表示区域时需要进一步细化MaxFunEvals
是达到了。没有情节如果集成成功之前生成的MaxFunEvals
。失败的剧情(通常)四面区域映射到内部的矩形。成群的小区域显示在集成领域的困难。
单数
- - - - - -开关转换边界奇点
真正的
或1
(默认)|假
或0
开关转换边界奇点,指定为逗号分隔组成的“奇异”
和一个数字或逻辑1
(真正的
)或0
(假
)。默认情况下,quad2d
使用转换削弱边界奇点为更好的性能。集“奇异”
来假
或0
关闭这些转换,可以提供性能优势在一些平滑问题。
输出参数
问
——计算积分
标量
计算积分,作为一个标量返回。
E
——错误绑定
标量
绑定错误,作为一个标量返回。错误绑定提供一个上限之间的误差计算积分问和积分的精确值我这样E= |问- - - - - -我|。
引用
[1]L.F. Shampine,“二维正交的MATLAB程序。”应用数学和计算。北京大学出版社202年版,2008,第266 - 274页。
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
生成的代码问题警告如果内部存储阵列的规模不够大。如果出现警告,作为一个解决方案,你可以试着把地区融入在每一块碎片,和积分。
版本历史
介绍了R2009a
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。