数值积分及其MATLAB实现
精品文档---下载后可任意编辑 9.1.1定积分的MATLAB符号计算 9.1.5 由,所围成的平面区域D.求平面区域D的面积S. 解 输入作函数图形的程序 x-10.0012; F1 sinx; F2cosx; plotx ,F1,b-,x ,F2,g-, axis[-1,pi/41,-1.3,1.3], xlabelx, ylabely, titleysinx , ycosx 和x-0.5及x1.5所围成的平面区域的图形 运行后屏幕显示图形. 求平面区域D的面积S.输入计算面积S的程序 syms x f1 cosx-sinx; f2-f1; S1 intf1,x,-0.5,pi/4; S2intf2,x, pi/4,1.5; SS1S2,Sj double S 运行后屏幕显示计算面积的值 S及其近似值 Sj 如下 S 2*21/2sin1/2-cos1/2-sin3/2-cos3/2 Sj 1.36203791318826 9.1.2变限积分的MATLAB符号计算 例9.1.7 已知ed,求. 解输入程序 syms x t F1intexpt*sin2sqrtt3,x,0; F2intexpt*sin2sqrtt3,0,x2; Fi F1 F2; dFdiffFi 运行后屏幕显示计算变限积分的导数. 9.2 数值积分的思想及其MATLAB程序 9.2.3矩形公式的MATLAB程序 (一) 函数sum的调用格式 调用格式一sumX 调用格式二sum X,DIM 例9.2.2用MATLAB和矩形公式(9.3)、(9.4)计算ed,并与精确值比较. 解 将分成20等份,步长为,输入程序 hpi/40; x0hpi/2; yexpsinx; z1sumy120*h, z2sumy221*h, 运行后屏幕显示矩形公式计算结果分别如下 z1 z2 3.0364 3.1713 求定积分的精确值,输入程序 syms x Fintexpsinx,x,0, pi/2, Fs double F, wz1abs Fs-z1, wz2 abs Fs-z2 运行后屏幕显示定积分的精确值Fs和与用矩形公式(9.3),(9.4)计算结果的绝对误差wz1、wz2. (二) 函数cumsum的调用格式 调用格式一cumsumX 调用格式二cumsum X,DIM 例9.2.4用MATLAB的函数sum 和 cumsum及矩形公式(9.3)、(9.4)计算ed,并与精确值比较. 解将分成20等份,步长为,输入程序如下(注意sum 和 cumsum的用法) hpi/40; x0hpi/2; yexp-x.*sinx; z1sumy120*h,z2sumy221*h, zcumsumy; z11z20*h, z12z21-z1*h, 运行后屏幕显示计算结果分别如下 z1 z2 z11 z12 0.3873 0.4036 0.3873 0.4036 求定积分的精确值,输入程序 syms x Fintexp-x*sinx,x,0, pi/2 Fs double F ,wz1abs Fs-z1, wz2 abs Fs-z2 运行后屏幕显示定积分的精确值Fs和用矩形公式(9.3),(9.4)计算结果的绝对误差wz1、wz2分别如下 F Fs 1/2*-1exppi1/2/exppi1/2 0.3961 wz1 wz2 0.0088 0.0075 9.3 插值型数值积分及其MATLAB 程序 9.3.2梯形公式的MATLAB程序 一 根据梯形公式和估量误差公式自己编写MATLAB程序计算定积分 例9.3.2分别取,用梯形公式计算定积分ed,并与精确值比较.然后观察对计算结果的有效数字和绝对误差的影响. 解编写并输入如下程序 hpi/8000;a0;bpi/2;xahb;nlengthx, yexpsinx; z1y1yn*h/2; z2sumy2n-1*h; z8000z1z2, syms t fexpsint; intfintf,t,a,b, Fsdoubleintf, Juewucha8000absz8000-Fs 运行后屏幕显示取时,积分区间上等距节点的个数,用梯形公式计算定积分的值z8000和精确值intf的近似值Fs及其绝对误差Juewucha8000. 二 用函数trapz计算定积分 调用格式一Z trapzY 调用格式二Z trapzX,Y 调用格式三Z trapz X,Y,DIM或trapz Y,DIM 三 用函数cumtrapz计算定积分 调用格式一Z cumtrapz Y 调用格式二Z cumtrapz X,Y 调用格式三Z cumtrapz X,Y,DIM 或cumtrapz Y,DIM 例9.3.4用MATLAB的函数trapz 和cumtrapz分别计算ed,精确到,并与矩形公式(9.3),(9.4)比较. 解将分成20等份,步长为,输入程序如下(注意trapzy是单位步长,trapzy*htrapzx,y) hpi/40; x0hpi/2; yexp-x.*sinx; z1sumy120*h, z2sumy221*h, zz1z2/2 z3trapzy*h, z3htrapzx,y, z3ccumtrapzy*h, 运行后屏幕显示用矩形公式(9.3),(9.4)计算结果z1、z2和二者的平均数z、函数trapz 和cumtrapz分别计算结果z3、z3c.