实验二数值方法计算积分

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二数值方法计算积分

学号:姓名:指导教师:实验目的

1、了解并掌握matlab软件的基本编程、操作方法;

2、初步了解matlab中的部分函数,熟悉循环语句的使用;

3、通过上机进一步领悟用复合梯形、复合辛普森公式,以及用龙贝格求积

方法计算积分的原理。

、用不同数值方法计算积分x In xdx=- 4 .

09

(1) 取不同的步长h.分别用复合梯形及辛普森求积计算积分,给出误差中关

于h的函数,并与积分精确值比较两个公式的精度,是否存在一个最小的h,使得精度不能再被改善?

(2) 用龙贝格求积计算完成问题(1)。

、实现实验

1、流程图:

复合辛普森磴程勒

下图是龙贝格算法框图:

开始

2、算法:

h n 1

(1)复合梯形公式:Tn =—[f(a) f (b) 2 f (xk)];

2 k i

h n 1 n 1

(2)复合辛普森公式:Sn=— [f(a)+f(b)+2 f (xk)] +4 f (x 1/2)];

6 k 1 k 0

以上两种算法都是将a-b之间分成多个小区间(n ),则

h=(b-a)/n, X k二a+kh, x k+1/2 =a+(k+1/2)h,利用梯形求积根据两公式便可。

⑶龙贝格算法:在指定区间内将步长依次二分的过程中运用如下公式

4 1

1、S n= —T2n- — Tn

3 3

2、Cn= — S2n—Sn

15 15

64 1

3、Rn= — C2n- — Cn从而实现算法。

63 63

3、程序设计

(1)、复合梯形法:

fun ctio n t=n atrapz(fname,a,b, n)

h=(b-a)/n;

fa=feval(f name,a);fb=feval(fname,b);f=feval(f name,a+h:h:b-h+0.001*h);

t=h*(0.5*(fa+fb)+sum (f));

(2 )、复合辛普森法:

fun ctio n t=n atrapz(fname,a,b, n)

h=(b-a)/n;

fa=feval(f name,a);fb=feval(fname,b);f1=feval(f name,a+h:h:b-h+0.001*h);

f2=feval(fname,a+h/2:h:b-h+0.001*h);

t=h/6*(fa+fb+2*sum(f1)+4*sum(f2));

(3)龙贝格法:

function [l,step]=Roberg(f,a,b,eps)

if(nargin==3)

eps=1.0e-4;

en d;

M=1;

tol=10;

k=0;

T=zeros(1,1);

h=b-a;

T(1,1)=(h/2)*(subs(sym(f),fi ndsym(sym(f)),a)+subs(sy m(f),fin dsym(sym(f)),b));

while tol>eps

k=k+1;

h=h/2;

Q=0; for i=1:M

x=a+h*(2*i-1);

Q=Q+subs(sym(f),fi ndsym(sym(f)),x); end

T(k+1,1)=T(k,1)/2+h*Q;

M=2*M;

for j=1:k

T(k+1,j+1)=T(k+1,j)+(T(k+1,j)-T(k,j))/(4Aj-1); end

tol=abs(T(k+1,j+1)-T(k,j));

end

I=T(k+1,k+1);

step=k;

4、实验结果;(1)复合梯形法

for it at long ;rtatrapz (inline C sqrt (K) . *log (x) ) f eps^ 1, 10)fl format short;

arts =

-0.41705283177947

»formai long ;natrapz(irLLirieC' sqrt(x)・ *log (s)' ) j epsj L 100}, format short, ans =

-0.44311790800816

»format long ;n at trapz (inline C sqrt (x)* *log (M V) j eps,, lj 1000), format short: an呂二

-0. 44438753899716

(2)、复合辛普森法结果:

fornta/t long ; na"t rapz (inlirLe(' sq^rt (x) ■ ^log lx) epsj 1」10) j £o rmat skort ;

ams —

-0.43529789007469

»f ornLat long:; nat zapz (ml ine ( suet (x). Klog (,x) '、, eps^ 100i) f orniat short ; ars 二

-0.4441 Cl 17841567

£口mat long ;nat rapz (iixl me sqr t (x) ■ *Log (x,J' ),eps:3 1』lOOOl))£omat sherl ; ans =

-0.44443^11761418

(3) 龙贝格法结果

>>[Q J, s] =Rab^rg (* sqrt (j) *lcg(I)30. 0000001 ±1)

q 二

-0..4444

s -

9

四•总结由结果(1)、( 2)可知复合辛普森法求积分精度明显比复合梯形法求积的精度要高,且当步长取不同值时即n越大、h越小时,积分精度越高。实验结

果说明不存在一个最小的h,使得精度不能再被改善。又两个相应的关于h的误差(余项)Rn(f)=- - - h2f ( n ;Rn(f)=-b - (h/2)4f凶(n,其中n属于a 到b。可知

12 180

h愈小,余项愈小,从而积分精度越高。

相关文档
最新文档