一、实验名称。
实验三:数值积分。
二、实验目的及要求。
1. 让学生掌握复化梯形法, 复化simpson法和romberg公式以及变步长梯形法,变步长simpson法。
2. 让学生能够用这些方法解决一些具体问题。
三、实验环境。
每人一台计算机,要求安装windows xp操作系统,microsoft office2003、matlab6.5(或7.0).
四、实验内容。
1.从地面发射一枚火箭,在最初80 s 内记录起加速度如下表,试求火箭在第50s,80s时的速度。
要求:分别用复合梯形法,复合simpson 法和 romberg公式计算。
2.给定积分和,分别用下列方法计算积分值要求准确到,并比较分析计算时间。
1) 变步长梯形法;
2) 变步长 simpson 法;
3) romberg 方法。
五、算法描述及实验步骤。
第一题:复合梯形法:
输入被积函数数据点t,a.
输出积分值v1,v2.
复合simpson法:
输入被积函数数据点x,y.输相邻数据点间的中间时刻,用向量t存放。
输出积分值v1,v2
步1 用数据点向量x,y拟合相对应的5次,8次多项式。
步2 根据拟合的多项式算出t向量对应的a.
步3 根据上述公式:
v110/6*[y(1)+4*[a(1)+a(2)+a(3)+a(4)+a(5)]+2*[y(2)+y(3)+y(4)+y(5)]+y(6)]
v210/6*[y(1)+4*[a(1)+a(2)+a(3)+a(4)+a(5)+a(6)+a(7)+a(8)]+2*[y(2)+y(3)+y(4)+y(5)+y(6)+y(7)+y(8)]+y(9)]
步4 输出v1,v2
romberg 积分法。
根据已知数据对其进行多项式拟合得出p(x);f(x) p(x);
输入被积函数f(x),积分区间端点a,b,允许误差。
输出 romberg积分值。
步1 步2 反复执行步3→步9.
步3 步4 反复执行步5→步6.
步5 步6 若x≥b,则退出本层循环。
步7 执行。
步8 执行。
步9 若e≤且k≥5,则退出循环。
步10 步11 输出。
第二题:变步长梯形法:
输入被积函数f(x),积分区间端点a,b和允许误差。
输出复合梯形积分值。
步1 步2
步3 反复执行步4→步10
步4 步5 反复执行步6→步7
步6 步7 若x≥b,则退出本层循环。
步8 步9
步10 若e≤,则退出循环。
步11 步12 输出。
变步长simpson法:
步1 定义被积函数f(x)
步2 输入积分区间端点a,b和允许误差。
步3 开始计时:tic
步4 调用基于变步长simpson积分函数[s,n]=quad(‘f’,a,b,tol)
步5 结束计时:t2=toc
romberg积分法:
输入被积函数f(x),积分区间端点a,b和允许误差。
输出 romberg积分值。
步骤编写函数式m文件定义北极函数,输出相应数据,然后调用romberg积分程序。
六、调试过程及实验结果:
第一题:1).复合梯形法:
t=[0 10 20 30 40 50 60 70 80];
a=[30.00 31.63 33.44 35.47 37.75 40.33 42.39 46.69 50.67];
> v1=10/2*[a(1)+2*(a(2)+a(3)+a(4)+a(5))+a(6)]
v1 =1.7345e+003
> vpa(v1,6)ans =
v2=10/2*[a(1)+2*(a(2)+a(3)+a(4)+a(5)+a(6)+a(7)+a(8))+a(9)]
v2 =3.0803e+003
> vpa(v2,7)ans =
2). 复合simpson 法:
x=[0 10 20 30 40 50];
y=[30.00 31.63 33.44 35.47 37.75 40.33];
t=0:0.1:50;
p5=polyfit(x,y,5);
t=[5 15 25 35 45];
a=polyval(p5,t)lua =
y=[30.00 31.63 33.44 35.47 37.75 40.33];
> v1=10/6*[y(1)+4*[a(1)+a(2)+a(3)+a(4)+a(5)]+2*[y(2)+y(3)+y(4)+y(5)]+y(6)]
v1 =1.7336e+003
> vpa(v1,7)ans =
x=[0 10 20 30 40 50 60 70 80];
y=[30.00 31.63 33.44 35.47 37.75 40.33 42.39 46.69 50.67];
t=0:0.1:80;
p8=polyfit(x,y,8);
t=[5 15 25 35 45 55 65 75];
a=polyval(p8,t)lua =
y=[30.00 31.63 33.44 35.47 37.75 40.33 42.39 46.69 50.67];
> v2=10/6*[y(1)+4*[a(1)+a(2)+a(3)+a(4)+a(5)+a(6)+a(7)+a(8)]+2*[y(2)+y(3)+y(4)+y(5)+y(6)+y(7)+y(8)]+y(9)]
v2 =3.0887e+003
> vpa(v2,7)ans =
3). romberg公式法:
> a=0;b=50;tol=0.000005;
>v1=romberg('f',a,b,tol)
v1 =1.7323e+003
> a=0;b=80;tol=0.000005;
>v2=romberg('f',a,b,tol)
v2 =3.0785e+003
第二题:y=exp(x)
变步长梯形法。
> a=1;b=3;tol=0.000005;
> i=vsm('f',a,b,tol)t1 =
i =变步长simpson法:
a=1;b=3;tol=0.000005;
tic;s,n]=quad('f',a,b,tol)
t2=toc
> p4s =
n =t2 =
romberg积分法:
> a=1;b=3;tol=0.000005;
> i=romberg('f',a,b,tol)
t3 =1.8141e-004i =
y=1/x变步长梯形法:
> a=1;b=3;tol=0.000005;
> i=vsm('f',a,b,tol)t1 =
i =变步长simpson法:
a=1;b=3;tol=0.000005;
tic;s,n]=quad('f',a,b,tol)
t2=toc
> p4s =
n =t2 =
romberg积分法:
> a=1;b=3;tol=0.000005;
> i=romberg('f',a,b,tol)
t3 =1.7178e-004
i =七、总结:
对复合梯形法、复合simpson法以及变步长梯形法、变步长 simpson法的掌握比较熟悉,但把它们综合起来应用在romberg 积分法上时,就显得不是那么得心应手了,所以在上机过程中,花费了比别人多的时间和精力,在以后的学习过程中,还要加紧练习,而且也要把相应的理论知识学好。.
八、附录(源程序清单)
第一题程序:
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;k=0;
while 1
s=0;x=a+h/2;
while 1
s=s+feval(f,x);x=x+h;
if x>=b
breakend
endt2=t1/2+(h/2)*s;s2=(4/3)*t2-(1/3)*t1;
c2=(16/15)*s2-(1/15)*s1;r2=(64/63)*c2-(1/63)*c1;
e=abs(r2-r1);h=h/2;
t1=t2;s1=s2;c1=c2;r1=r2;k=k+1;
if e<=tol&k>=5
breakend
endr2n=r2;
x=[0 10 20 30 40 50 60 70 80];
y=[30.00 31.63 33.44 35.47 37.75 40.33 42.39 46.69 50.67];
p=polyfit(x,y,3);y=poly2sym(p)
function y=f(x)
y=(5930286613326077*x^3)/295147905179352825856 - 3295392375650087*x^2)/4611686018427387904 + 3387527922312137*x)/18014398509481984 + 74033/2475
第二题程序:
变步长梯形法:
function t2n=vsm(f,a,b,tol)
h=b-a;
t1=(h/2)*(feval(f,a)+feval(f,b));
tic;while 1
s=0;x=a+h/2;
数值分析作业
12.求在 0,1 上的一次最佳平方逼近多项式与二次最佳平方逼近多项式。函数 function s zjpfbj n,a,b 创建一个函数,里面填入次数,和区间范围。base inline x j 1 x j 定义多项式。quan inline 1 x 权函数。a zeros n 1 y zeros...
数值分析作业
实验2.2算法设计与比较。实验目的 编制不同方法的matlab程序,这些方法的计算效果和特点。问题提出 非线性方程的数值解法很多,不同的方法效果如何,要靠计算的实践来分析 比较。实验内容 考虑下列算法 1 牛顿法 2 弦割法 3 抛物线法。分别编写它们的matlab程序。牛顿法程序 function...
数值分析作业
数值分析上机作业。zhh mushan 班级 土木工程一班。姓名 赵惠惠。班级 2010510359 二零一一年六月 舍入误差与有效数。一 问题说明。1 设,其精确值为。1 编制按从小到大的顺序计算通用程序。2 编制按从小到大的顺序计算通用程序。3 按两种顺序分别计算并指出有效位数。编制程序用单精度...