自适应复化求积法
实 验 报 告
实验课程名称 数值计算方法
实验项目名称 自适应复化梯形求积法
年 级 2012级
专 业 应用数学
学生姓名
学 号
理 学 院
实验时间: 2014 年 4月 24日
学生所在学院:理学院 专业:应用数学 班级:应数121
姓 名学 号实验组实验时间2014.4.24指导教师成 绩实验项目名称自适应复化梯形求积法
实验目的及要求:
复合梯形公式是提高精度的行之有效的方法,但是在使用求积公式之前,必须先给出步长。步长取得太大精度难以保证,步长太小则导致计算量的增加,而事先给出一个合适的步长往往是困难的,因此提出了在求积过程中根据精度要求自动确定积分步长的梯形公式的逐次分半加速法。
实验(或算法)原理
记为n等分[a,b]后用复化梯形公式算得的积分值,于是
,将[a,b]作2n等分后,n等分下的子区间
[]变为两个更小的子区间[],从而[]上的积分值为
于是
其中h=(b-a)/n
实验硬件及软件平台:
Matlab 2010a
实验步骤:
1.根据算法事先写出相应程序。
2.启动PC机,在Matlab中输入代码。
3.编译调试。
4.调试通过,计算出正确结果。实验内容(包括实验具体内容、算法分析、源代码等等):
zishitixing.m
clear
clc
a=input('区间左端点:');
b=input('区间右端点:');
z=input('精度:');
h=b-a;
s2=h*(a+b)/2;
s1=0;
k=1;
s=0;
while abs(s1-s2)>=z
s1=s2;
s=0;
for i=1:1:k
s=s+f(a+(i-1/2)*h);
end
s2=s1/2+h*s/2;
k=2*k;
h=h/2;
end
disp('满足精度的值为:');
s2
f.m
function y=f(x)
y=exp(-x^2);
end
用上述程序计算。
可见,用程序计算的结果和真实结果相同。
实验结果与讨论:
通过本实验的学习,初步掌握了使用自适应复化求积法。更进一步加深了对自适应复化求积法的基本原理和技巧的理解,初步学会使用自适应复化求积法解决一些简单的问题。
同时在实验过程中了解到在运用复化求积公式进行计算时,步长h取得太大时难以保证,步长太小时则会增加计算工作量,这时就必须要求进行反复利用求积公式进行计算,直到所求得的积分值满足精度要求为止。
指导教师意见:
签名: 年 月 日
7