数值分析实验三
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
贵州师范大学数学与计算机科学学院学生实验报告
课程名称: 数值分析 班级: 12级信本 实验日期: 2014年 11月5日 学 号: 120703010031 姓名: 李盼 指导教师: 实验成绩:
一、实验名称
实验三:数值积分
二、实验目的及要求
1. 让学生掌握复化梯形法, 复化Simpson 法和Romberg 公式以及变步长梯形法,变步长Simpson 法
2. 让学生能够用这些方法解决一些具体问题
三、实验环境
每人一台计算机,要求安装Windows XP 操作系统,Microsoft office2003、MATLAB6.5(或7.0).
四、实验内容
1
.
要求:分别用复合梯形法,复合Simpson 法和 Romberg 公式计算.
2.给定积分dx x ⎰3
11, 分别用下列方法计算积分值要求准确到510-, 并比较分析计算时间. 1) 变步长梯形法;
2) 变步长 Simpson 法.
五、算法描述及实验步骤
1复合梯形法
输入:被积函数数据点t,a ;
输出:积分值n T 。
复合Simpson
输入:被积函数)(x f ,积分区间[a,b]和n,
输出:复合Simpson 积分值n S 。
步1 :b a h n
-⇐; (a)(b)n S f f ⇐-;x a ⇐. 步2:对k=1,2,…,n 执行
;4();;2().22
n n n n h h x x S S f x x x S S f x ⇐+⇐-⇐+⇐-
步3:*6
n n h S S ⇐。 步4:输出n S 。
Romberg 公式
根据已知数据对其进行多项式拟合得出p(x);()()f x p x ⇐。
输入 :被积函数)(x f ,积分区间端点a,b,允许误差ε,
输出:Romberg 积分值2n R 。
步1:a b h -⇐;));()((2
1b f a f h T +⇐.0;0;0;0111⇐===k R C S 步2:反复执行步3-步9
步3:.2
;0h a x S +⇐⇐ 步4:反复执行步5-步6
步5:.);(h x x x f S S +⇐+⇐
步6:若b x ≥,则退出本层循环。
步7:执行 ;3134;2212212T T S S h T T -⇐+⇐.63
16364;1511516122122C C R S S C -⇐-⇐ 步8:执行
.1;
;;
;;2|;|2121212112+⇐⇐⇐⇐⇐⇐
-⇐k k R R C C S S T T h h R R e
步9:若ε≤e 且5≥k ,则退出循环。
步10:.22R R n ⇐
2:变步长梯形法
功能 求积分dx x ⎰3
1
1,允许误差为ε。 输入 被积函数)(x f ,a,b,ε.
步1:a b h -⇐。
步2:)).()((2
1b f a f h T +⇐ 步3:反复执行步4--步10.
步4:.2;0h a x S +=⇐
步5:反复执行步6--步7
步6:.);(h x x x f S S +⇐+⇐
步7:若b x ≥,则退出本层循环。
步8:.2
212S h T T ⨯+⇐ 步9:.;2
|;|2121T T h h T T e ⇐⇐-⇐ 步10:若ε≤e ,则退出循环。
步11:22T T n =.
步12:输出n T 2。
变步长 Simpson 法.
输入:被积函数)(x f ,积分区间[a,b]和n,
输出:复合Simpson 积分值n S 。
步1 :b a h n
-⇐; (a)(b)n S f f ⇐-;x a ⇐. 步2:对k=1,2,…,n 执行 ;4();;2().22
n n n n h h x x S S f x x x S S f x ⇐+⇐-⇐+⇐- 步3:*6
n n h S S ⇐。 步4:输出n S 。
六、调试过程及实验结果
复合梯形法:
>> a=[30.00 31.63 33.44 35.47 37.75 40.33 42.39 46.69 50.67]; >> h=10;
>> v0=0;
>> v50=v0+(h/2)*(a(1)+2*(a(2)+a(3)+a(4)+a(5))+a(6))
v50 =
1.7345e+003
>> v80=v0+(h/2)*(a(1)+2*(a(2)+a(3)+a(4)+a(5)+a(6)+a(7)+a(8))+a(9))
v80 =
3.0803e+003
复合Simpson 法:
>> a=[30.00 31.63 33.44 35.47 37.75 40.33 42.39 46.69 50.67];
>> h=20;
>> v0=0;
>> v80=v0+(h/6)*(a(1)+4*(a(2)+a(4)+a(6)+a(8))+2*(a(3)+a(5)+a(7))+a(9))
v80 =
3.0810e+003
>> x=[0 10 20 30 40 50];
>> y=[30.00 31.63 33.44 35.47 37.75 40.33];
>> p=polyfit(x,y,2);
>> poly2sym(p);
>> x=[5 15 25 35 45];
>> q=polyval(p,x);
>> a=[30.00 q(1) 31.63 q(2) 33.44 q(3) 35.47 q(4) 37.75 q(5) 40.33]; >> h=10;
>>
v50=v0+(h/6)*(a(1)+4*(a(2)+a(4)+a(6)+a(8)+a(10))+2*(a(3)+a(5)+a(7)+a(9 ))+a(11))
v50 =
1.7336e+003
Romberg公式
function R2n=Romberg(f,a,b,tol)
h=b-a;
T1=(h/2)*(feval(f,a)+feval(f,b));
S1=0;
C1=0;
R1=0;