实验10 数值积分 实验目的: 1.了解数值积分的基本原理; 2.熟练掌握数值积分的MATLAB 实现; 3.会用数值积分方法解决一些实际问题
实验内容: 积分是数学中的一个基本概念,在实际问题中也有很广泛的应用
同微分一样,在《微积分》中,它也是通过极限定义的,由于实际问题中遇到的函数一般都以列表形式给出,所以常常不能用来直接进行积分
此外有些函数虽然有解析式,但其原函数不是初等函数,所以仍然得不到积分的精确值,如不定积分 1 0 dsinxxx
这时我们一般考虑用数值方法计算其近似值,称为数值积分
1 数值微分简介 设函数( )yf x在*x 可导,则其导数为 hxfhxfxfh)()(lim)(**0* (10
1) 如果函数( )yf x以列表形式给出(见表10-1),则其精确值无法求得,但可由下式求得其近似值 hxfhxfxf)()()(*** (10
2) 表 10-1 x …… y …… 一般的,步长h 越小,所得结果越精确
2)式右端项的分子称为函数( )yf x在*x 的差分,分母称为自变量在*x 的差分,所以右端项又称为差商
数值微分即用差商近似代替微商
常用的差商公式为: 000()()()2f xhf xhfxh (10
3) hyyyxf243)(2100 (10
4) 0x1x0y1y2x2ynynxhyyyxfnnnn234)(12 (10
5) 其误差均为2()O h,称为统称三点公式
2 数值微分的MATLAB 实现 MATLAB 提供了一个指令求解一阶向前差分,其使用格式为: dx=diff(x) 其中x 是n 维数组,dx 为1n 维数组21321,,,nxx xxxx,这样基于两点的数值导数可通过指令diff(x)/h 实现
对于三点公式