实验二数值方法计算积分
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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愈小,余项愈小,从而积分精度越高。