数值分析作业

发布 2022-08-27 20:14:28 阅读 4607

一、实验名称。

实验三:数值积分。

二、实验目的及要求。

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 按两种顺序分别计算并指出有效位数。编制程序用单精度...