【数值积分】
数值积分是数值计算的重要部分,它是求定积分的一种近似方法,具有实际意义
其不同于符号计算给出的符号解,其给出的是一个精确的近似解
matlab 提供了自适应辛普森法和自适应洛巴托法两种方法来求积分
【一重积分】
自适应辛普森法
在 matlab 中,quad 利用自适应辛普森法计算函数的数值积分,适用于精度低,被积函数平滑性差的数值积分。
quad(Fun,a,b)
:计算函数 Fun 在区间 (a,b) 上的积分quad(Fun,a,b,tol)
:计算函数 Fun 在区间 (a,b) 上的积分,tol 控制自适应辛普森法的误差,tol 越大计算速度越快精度越低,默认情况下,tol=1e-6
说明:Fun 是函数句柄,一般利用匿名函数
1 | >> quad(@(x)x.^2,1,2) |
自适应洛巴托法
在 matlab 中,quadl 利用自适应洛巴托法计算函数的数值积分,适用于精度高,被积函数平滑性好的数值积分。
quadl(Fun,a,b)
:计算函数 Fun 在区间 (a,b) 上的积分quadl(Fun,a,b,tol)
:计算函数 Fun 在区间 (a,b) 上的积分,tol 控制自适应洛巴托法的误差,tol 越大计算速度越快精度越低,默认情况下,tol=1e-6
说明:
- Fun 是函数句柄,一般利用匿名函数
- 与 quad 相比,quadl 耗时更长,但精度更高
1 | >> quadl(@(x)x.^2,1,2) |
【多重积分】
二重积分
dplquad(Fun,x_min,x_max,y_min,y_max)
:计算函数 Fun 在积分限 (x_min,x_max) 和 (y_min,y_max) 上的积分dplquad(Fun,x_min,x_max,y_min,y_max,tol)
:计算函数 Fun 在积分限 (x_min,x_max) 和 (y_min,y_max) 上的积分,tol 控制误差,tol 越大计算速度越快精度越低,默认情况下,tol=1e-6
说明:Fun 是函数句柄,一般利用匿名函数
1 | >> f=@(x,y)x.*y+x.^2.*y.^2; |
三重积分
triplequad(Fun,x_min,x_max,y_min,y_max,z_min,z_max)
:计算函数 Fun 在积分限 (x_min,x_max) 、(y_min,y_max)、(z_min,z_max) 上的积分triplequad(Fun,x_min,x_max,y_min,y_max,z_min,z_max,tol)
:计算函数 Fun 在积分限 (x_min,x_max) 、(y_min,y_max)、(z_min,z_max) 上的积分,tol 控制误差,tol 越大计算速度越快精度越低,默认情况下,tol=1e-6
说明:Fun 是函数句柄,一般利用匿名函数
1 | >> f=@(x,y,z)x.*y.*z; |