从零开始学MATLAB(六)数值微积分与方程求解
1.数值微分与数值积分
(1)数值微分
MATLAB提供了求向前差分的函数diff,其调用格式有三种:
①dx=diff(x):计算向量x的一阶向前差分,dx(i)=x(i+1)-x(i),i=1,2,…,n-1
②dx=diff(x,n):计算向量x的n阶向前差分。
③dx=diff(A,n,dim):计算矩阵A的n阶差分,dim=1时(默认状态),按列计算差分;dim=2,按行计算差分。
差商便是该点导数的近似值。
(2)数值积分
①基于自适应辛普森方法
[l,n]=quad(filename,a,b,tol,trace)
②基于自适应Gauss-Lobatto方法
[l,n]=quadl(filename,a,b,tol,trace)
其中,filename是被积函数名;a和b分别是定积分的下限和上限,积分限[a,b]必须是有限的,不能为无穷大(inf);tol用来控制积分精度(默认取10的-6次方);trace控制是否展现积分过程,取非0则展现,取0则不展现(默认取0);返回参数l即定积分的值,n为被积函数的调用次数。
③基于全局自适应积分方法:
l=integral(filename,a,b)ÿ