功能:采用辛普森公式求解二重数值积分(有限区间积分)

格式:
[r,er,m,n]=IntegralxySimpson(f,xa,xb,ya,yb,er0,m0,n0,mN,nN)
[r,er,m,n]=IntegralxySimpson(f,xa,xb,ya,yb,er0,m0,n0,mN)
[r,er,m,n]=IntegralxySimpson(f,xa,xb,ya,yb,er0,m0,n0)
[r,er,m,n]=IntegralxySimpson(f,xa,xb,ya,yb,er0,m0)
[r,er,m,n]=IntegralxySimpson(f,xa,xb,ya,yb,er0)
[r,er,m,n]=IntegralxySimpson(f,xa,xb,ya,yb)

f:符号变量,存储只含以x、y为变量名称的积分表达式
xa:数值或者矩阵变量,表示x积分区间的下限
xb:数值或者矩阵变量,表示x积分区间的上限
ya:数值或者矩阵变量或者包含x变量的符号表达式,表示y积分区间的下限
yb:数值或者矩阵变量或者包含x变量的符号表达式,表示y积分区间的上限
er0:表示求解控制的相对误差,默认为1e-12
m0:表示对x进行积分时初始复化等分数,默认为8
n0:表示对y进行积分时初始复化等分数,默认与m0一致
mN:表示对x进行积分时复化等分数的最大份数,默认为1024
nN:表示对y进行积分时复化等分数的最大份数,默认与mN一致

r:返回的积分结果值
er:返回的求解结果的相对误差
m:返回的求解到此值时程序对x积分变量的复化数
n:返回的求解到此值时程序对y积分变量的复化数

说明:在变量xa,xb,ya,yb当中存在两个矩阵变量时,这些矩阵变量维数必须一致,且返回的结果也将是对应的矩阵变量

原理:

1、双重积分,可分别对每一层采用单变量的积分算法进行数值积分
2、本积分算法对x与y变量均采用复化后的辛普森公式进行数值积分。

参考://王超能.数值分析简明教程[M].高等教育出版社,北京,2004,59页公式(3)

例子:

//已知函数 f(x,y)=ln(x+2*y)，请对f(x,y)函数的x从1.4到2;y分别从0.7,0.8,0.9,1到1.5进行数值积分
//提示,对f(x,y)的x、y各进行一次积分后可得到 ((x + 2*y)^2*(2*log(x + 2*y) - 3))/8

f="ln(x+2*y)";
ya=[0.7,0.8,0.9,1];
[fy,er,m,n]=IntegralxySimpson(f,1.4,2,ya,1.5)//执行上面两条命令以及回车本条命令后得到如下结果。注意,ya当中每一个元素对应如下结果对应列下标的值

fy =
[ 0.64936403489515    0.57967296483187    0.50633319683294    0.42955452754621 ]
er =
[ 5.9074967140E-13    4.4819703504E-13    3.3661962106E-13    2.4824586830E-13 ]
m =
[ 64.0000000000000    64.0000000000000    64.0000000000000    64.0000000000000 ]
n =
[ 32.0000000000000    32.0000000000000    32.0000000000000    32.0000000000000 ]
