matlab数学试验报告二
数学实验报告数学实验报告 实验序号:实验序号: 实验二实验二日期:日期: 20172017 年年 1212 月月 7 7 日日 班级 实验名称 信息与计算科学 定积分的近似计算 姓名一羊炖错学号160******* 问题背景描述: 利用牛顿——莱布尼茨公式虽然可以精确地计算定积分的值, 但它仅适用于被积函数的原函数能用 初等函数表达出来的情形。如果这点办不到或者不容易办到,这就有必要考虑近似计算的方法.在 定积分的很多应用问题中, 被积函数甚至没有解析表达式, 可能只是一条实验记录曲线, 或者是一 组离散的采样值,这时只能应用近似方法去计算相应的定积分。 实验目的: 本实验将主要研究定积分的三种近似计算算法: 矩形法、梯形法、抛物线法。对于定积分的近似数 值计算,Matlab 有专门函数可用。 实验原理与数学模型: 相关函数(命令)及简介: l.sum(a): 求数组 a 的和. 2.at long: 长格式,即屏幕显示15 位有效数字 (注: 由于本实验要比较近似解法和精确求解间的误差,需要更高的精度). 3.double(): 若输入的是字符则转化为相应的ASCII 码; 若输入的是整型数值则转化为相应的实型数 值. 4.quad(): 抛物线法求数值积分 格式: quad(fun,a,b),注意此处的 fun 是函数,并且为数值形式,所以使用*、/、^等运算时要在其前 加上小数点,即.*、./、.^ 等. 5.trapz(): 梯形法求数值积分. 格式: trapz(x,y). 其中 x 为带有步长的积分区间; y 为数值形式的运算(相当于上面介绍的函数fun). 6.dblquad():抛物线法求二重数值积分. 格式:dblquad(fun,xmin,xmax,ymin,ymax),fun 可以用 inline 定义,也可以通过某个函数文件的句 柄传递。 7.fprintf(文件地址,格式,写入的变量): 把数据写入指定文件. 8.syms 变量 1 变量 2.定义变量为符号. 9.sym( 表达式 ): 将表达式定义为符号, 解释: Matlab 中的符号运算事实上是借用了Maple 的软件包,所以当在Matlab 中要对符号进行运 算时,必须先把要用到的变量定义为符号, 10.int(f,v,a,b): 求 f 关于 U 积分,积分区间由 a 到 b. 11.subs(f, x ,a): 将 a 的值赋给符号表达式 f 中的 ar,并计算出值.若简单地使用 subs(f),则将 f 的所 有符号变量用可能的数值代入,并计算出值. 实验所用软件及版本: MATLAB R2016b 主要内容(要点) : 1.矩形法 根据定积分的定义,每一个积分和都可以看作是定积分的一个近似值,即 dxf(x) a b f()x i i1 i n 在几何意义上, 这是用一系列小矩形面积近似小曲边梯形的结果, 所以把这个近似计算方法称为矩 形法.不过,只有当积分区间被分割得很细时,矩形法才有一定的精确度. 针对不同 i 的取法,计算结果会有不同,我们以 1 x0 1 dx 2 为例(取 n= 100): (1) 左点法: 对等分区间 x0=ax1.xi=a+(b-a)i/n.xn=b在区间[x(i-1),xi] 上取左端点, 即取ζ i= x(i-1), 1 x0 1 dx 2 f()x i ≈ 0.78789399673078 i1 i n (2) 右点法: 同(1) 中划分区间,在区间[x(i-1),xi]上取右端点,即取ζ i= x(i-1), 1 x0 1 dx 2 f()x i ≈ 0.78789399673078 i1 i n (3) 中点法: 同(1) 中划分区间,在区间[x(i-1),xi]上取中点,即取ζ i= x(i-1), 1 x0 1 dx 2 f()x i ≈ 0.78789399673078 i1 i n 如果在分割的每个小区间上采用一次或二次多项式来近似代替被积函数,那么 可以期望得到比矩形法效果好得多的近似计算公式,下面介绍的梯形法和抛物线 法就是这一指导思想的产物。 2.梯形法 等分区间 x0=ax1…xi=a+(b-a)i/n.xn=b,x=(b-a)/n 相应函数值为 y0,y1,…,yn(yi=f(xi),i=0,1,…,n) 曲线 y= f(x) 上相应的点为 P0,P1,…,Pn(Pi=(xi,yi),i=0,1,…,n) 将曲线的每一段弧 P(i-1)Pi 用过点 P(i-1),Pi 的弦 P(i-1)Pi (线性函数)来代替,这使得 每个[x(i-1),xi]上的曲边梯形成为真正的梯形,其面积为(yi-1 + y i ) ×x ,i=1,2,…,n 2 于是各个小梯形面积之和就是曲边梯形面积的近似值, a f(x)dx 即 b i1 ny i1 y i 2 x x 2 (y i i1 n 1 y i ) a b f(x)dx yba y 0(y 1 .y n1 n) n22 称此式为梯形公式. 3.抛物线法 由梯形法求近似值,当y= f(x) 为凹曲线时,它就偏小; 当 y= f(x) 为凸曲线时,它就偏大.若每段改 用与它凸性相接近的抛物线来近似时,就可减少上述缺点,这就是抛物线法. 将积分区间[a,b] 作 2n 等分,分点依次为 x0=ax1…xi=a+(b-a)i/2n…x(2n)=b, x=(b-a)/2n, 对应函数值为 y0,y1,…,y(2n),(yi=f(xi),i=0,1,…,2n) 曲线上相应点为 P0,P1,…,P(2n),(Pi=(xi,yi),i=0,1,…,2n) 现把区间[x0,x2]上的曲线段 y=f(x) 用通过三点 P0(x0,y0),P1(x1,y1) ,P2(x2,y2)的抛物线 y= α x^2 + β x + γ= P1 (x)近似代替,然后求函数p1(x) 从 x0 到 X2 的定积分: x x2 1 p 1 (x)dx x 2 x 0 [(α x0^2+β x0+γ )+( α x2^2+β x2+γ )+ α (x0+x2)^2+2β (x0+x2)+4γ ] 6 由于 x1=(x0+x2)/2,代入上式,整理得 x x x a x2 1 p 1 (x)dx x 2 x 0 b - a (y 0 + 4y 1 + y 2 ) =( y 0 + 4y 1 + y 2 )同样也有 66n b - a ( y 2 + 4y 3 + y 4 ) 6n x4 2 p 2(x )dx …… x2n 2n2 p n(x )dx b - a ( y 2n-2 + 4y 2n-1 + y 2n ) 6n 将这 n 个积分相加即得原来所要计算的定积分的近似值: b f(x)dx b - a ( y 2i-2 + 4y 2i-1 + y 2i ) 6n 即 a b f(x)dx b - a [y 0 y 2n 4(y 1