功能:采用均分法进行多重数值积分(有限区间积分)

格式:
IntergalMultiple2(f,n,x1,a1,b1,x2,a2,b2,……,xn,an,bn)
IntergalMultiple2(f,n,x1,a1,b1)

f:符号变量,存储积分表达式
n:均分数目
x1:积分变量名称
a1:x1对应的积分下限,可以为矩阵变量可为数据
b1:x1对应的积分上限,可以为矩阵变量可为数据
……
xn:第n个积分变量名称
an:xn对应的积分下限,可以为矩阵变量可为数据
bn:xn对应的积分上限,可以为矩阵变量可为数据

说明:

1、对于维数比较低的函数积分,建议采用其它函数进行计算,写本函数的目的是为了更加快速求解维数比较大的函数积分问题。

2、本算法是一种特殊的蒙特卡洛求积算法，由于在蒙特卡洛求积算法当中,随机采样时均匀随机采样的计算结果一般比较好,既然均匀随机采样结果较好,那就直接将积分区间均匀n等分,然后再带入求解即可。这当中省去了一个求解随机数的过程。

原理:

1、对x1在[a1,b1]之间均分n份,每一份记为x1[i];同理对x2、x3、,……,xn在对应区间均分n份

2、计算z=(b1-a1)*(b2-a2)*……*(bn-an)

3、计算s=∑f(x1[i],x2[i],……,xn[i]),其中i=1,2,……,n

4、积分结果就为 I=z*s/n


例子:

//对表达式 f(x,y,z)=x*y*z 的变量x在区间[0,1];y在区间[2.5,3];z在区间[1.4,3.1]内进行定积分

f="x*y*z";f0=IntergalMultiple2(f,300,x,0,1,y,2.5,3,z,1.4,3.1)//回车得到如下结果
f0 =
[ 3.07356458333327 ]