﻿功能:一元有限区间定积分

格式:
[y,error,np]=IntegralGauss(f,a,b,n,error0,xn)
[y,error,np]=IntegralGauss(f,a,b,n,error0)
[y,error,np]=IntegralGauss(f,a,b,n)
[y,error,np]=IntegralGauss(f,a,b)

f:符号变量存储的积分表达式
a:积分下限,可以为数值,可以为矩阵变量
b:积分上限,可以为数值,可以为矩阵变量,如果a、b均为矩阵变量,则其维数必须一致
n:复化积分数等分最大深度值(等分数=64*2^n),默认为8
error0:表示控制的相对误差,默认1E-12
xn:积分变量名称,默认为x

y:返回的积分值
error:返回的积分相对误差
np:积分时的复化等分数

原理:采用两点高斯积分求解

例子:

//对cos(x*sin(x))函数x在0到0,0.1,0.2,0.3,0.4,0.5的定积分
f="cos(x*sin(x))";
t=0:0.1:0.5;
[y,er,np]=IntegralGauss(f,0,t)//回车得到如下结果
y =
[ 0.00000000000000    0.09999900238308    0.19996830581975    0.29976224553425    0.39901547955638    0.49706413318661 ]
er =
[ 0.00000000000000    1.5404344466E-15    4.6324055702E-14    3.1924463073E-13    7.2220007751E-14    1.7286172493E-13 ]
np =
[ 128.000000000000    128.000000000000    128.000000000000    128.000000000000    256.000000000000    256.000000000000 ]