1、桂林电子科技大学数学与计算科学学院实验报告实验室: 06406 实验日期: 2014 年 11 月 21 日院(系) 数学与应用数学 年级、专业、班 姓名 成绩课程名称数值分析实验 实验项目名 称实验积分 指导教师李光云一 、实验目的通过实验掌握利用 Matlab 进行数值积分的操作,掌握 Matlab 中的几种内置求积分函数,进一步理解复化梯形,复化辛普生公式,并编程实现求数值积分二、实验原理Matlab 中,有内置函数计算积分: z = trapz(x,y)其中,输入 x, y 分别为已知数据的自变量和因变量构成的向量,输出为积分值。 z = quad(fun,a,b)这个命令是使用自适应
2、求积的方法计算积分的命令。其中,fun 为被积函数,a,b 为积分区间。我们还可以利用复化梯形公式 1022niixfxffnabI三、使用仪器,材料电脑 MATLAB四、实验内容与步骤1. 编写复化辛普生公式的 Matlab 的程序。2. 利用复化梯形法程序计算 ,记录下计算结果随着 n 增加的变化情况,画图与复1204Idx化梯形公式的情况比较收敛速度。3. 积分 的原函数无法用初等函数表达,结合 Matlab 复化梯形程序,用描点法绘制其原dxsin函数 在区间 的图形。xdt1sin50,1五、实验过程原始记录(数据,图表,计算等)一、复化 Simpson 公式程序:function
3、s=Simpson(a,b,n) %输出 s为积分的数值解,输入(a,b)为积分区间,n 为等分区间的个数.h=(b-a)/(n*2);s1=0;s2=0;s=h*(f(a)+f(b)/3;%先计算特殊两点相加.for k=1:nx1=a+h*(2*k-1); %利用循环计算其他点的相加.s1=s1+f(x1);endfor k=1:(n-1)x2=a+h*2*k; %利用循环计算其他点的相加.s2=s2+f(x2);ends=s+h*(4*s1+2*s2)/3;画图程序format long;% k为等分区间个数,t 存储积分值.k=2:1:40;for i=1:length(k)t(i)=
4、Simpson(0,1,k(i);disp(k(i),t(i);endplot(k,t,.,MarkerSize,20)二、Simpson(0,1,26)ans =3.14159265358779 Untitled62.00000000000000 3.141568627450983.00000000000000 3.141591780936044.00000000000000 3.141592502458715.00000000000000 3.141592613939226.00000000000000 3.141592640305387.00000000000000 3.14159264
5、8320658.00000000000000 3.141592651224829.00000000000000 3.1415926524231710.00000000000000 3.1415926529697911.00000000000000 3.1415926532398112.00000000000000 3.1415926533821513.00000000000000 3.1415926534613414.00000000000000 3.1415926535074515.00000000000000 3.1415926535353616.00000000000000 3.1415
6、926535528417.00000000000000 3.1415926535641118.00000000000000 3.1415926535715619.00000000000000 3.1415926535766120.00000000000000 3.1415926535801121.00000000000000 3.1415926535825622.00000000000000 3.1415926535843223.00000000000000 3.1415926535856024.00000000000000 3.1415926535865525.00000000000000
7、3.1415926535872526.00000000000000 3.1415926535877927.00000000000000 3.1415926535881928.00000000000000 3.1415926535885129.00000000000000 3.1415926535887530.00000000000000 3.1415926535889431.00000000000000 3.1415926535890932.00000000000000 3.1415926535892233.00000000000000 3.1415926535893134.000000000
8、00000 3.1415926535893935.00000000000000 3.1415926535894636.00000000000000 3.1415926535895137.00000000000000 3.1415926535895538.00000000000000 3.1415926535895939.00000000000000 3.1415926535896240.00000000000000 3.14159265358964由图形可以知道,复化 Simpson求积公式的收敛速度比复化梯形求积公式收敛速度快三、b=2:1:50; y=tixing(1,b,26)Warni
9、ng: Colon operands must be real scalars. In tixing at 3y =Columns 1 through 4 0.65931335927431 1.31862671854861 1.97794007782292 2.63725343709723Columns 5 through 8 3.29656679637153 3.95588015564584 4.61519351492015 5.27450687419446Columns 9 through 12 5.93382023346876 6.59313359274307 7.25244695201
10、738 7.91176031129169Columns 13 through 16 8.57107367056599 9.23038702984030 9.88970038911461 10.54901374838891Columns 17 through 20 11.20832710766322 11.86764046693753 12.52695382621183 13.18626718548614Columns 21 through 24 13.84558054476045 14.50489390403476 15.16420726330906 15.82352062258337Colu
11、mns 25 through 28 16.48283398185768 17.14214734113198 17.80146070040629 18.46077405968060Columns 29 through 32 19.12008741895491 19.77940077822921 20.43871413750352 21.09802749677782Columns 33 through 36 21.75734085605213 22.41665421532644 23.07596757460075 23.73528093387506Columns 37 through 40 24.
12、39459429314936 25.05390765242366 25.71322101169798 26.37253437097228Columns 41 through 44 27.03184773024659 27.69116108952090 28.35047444879520 29.00978780806952Columns 45 through 48 29.66910116734383 30.32841452661813 30.98772788589244 31.64704124516674Column 49 32.30635460444105 x=1:1:49; plot(x,y)六、实验结果分析或总结通过这次实验,学会了如何使用 Matlab 进行数值积分的操作以及几种内置求积分函数的方法,但编程一直都是自己的弱势,一些程序的代码还是无法自己编译出来。