haihongyuan.com
海量文库 文档专家
全站搜索:
您现在的位置:首页 > 初中教育 > 科学科学

zucc科学计算实验八实验报告

发布时间:2014-03-29 17:32:03  

浙江大学城市学院实验报告

课程名称 科学计算

实验项目名称 数值积分

实验成绩 指导老师(签名 ) 日期

一. 实验目的和要求

1. 用Matlab软件掌握梯形公式、辛普森公式和高斯公式计算数值积分; 2. 通过实例学习用数值积分解决实际问题。

二. 实验内容和原理

分析应用题2-1,2-2,2-3要求将问题的分析过程、Matlab源程序和运行结果和结果的解释、算法的分析写在实验报告上。

2-1 分析应用题

用复合左(右)矩形、复合梯形、复合Simpson三种积分公式计算由下表数据给出的积分

?

1.5

0.3

y(x)dx。

k

xk

1 0.3

2 0.5

3 0.7

4 0.9

5 1.1

6 1.3

7 1.5

其中函数y(x)为y?x?sin

x

,将计算值与精确值作比较。 3

?

2-2用以下几种数值积分公式计算积分

?

20

对区间[0,]进行2等分,使用Simpsonsinxdx,

2

?

积分公式,并在该区间上使用两点和三点Gauss积分公式,输出它们的数值结果,并与精确值作比较,说明理由。

提示:两点Gauss积分公式为

?

b

a

f(x)dx?

b?a?b?ab?a?

f(??f(?? ?2?22?

三点Gauss积分公式为

?

b

a

f(x)dx?

b?a?5b?a8b?a5b?a?

f(?f()?f(? ?2?929292?

使用两点guass公式计算出的结果

2-3分析应用题

一辆汽车用84s的时间驶完跑道的一圈。汽车的速度每隔6s用雷达测速仪确定,并从开始以ft / s在下表中的各项给出。 求跑道有多长? 注:可从数值积分的角度来求解。

2-1分析应用题

用复合左(右)矩形、复合梯形、复合Simpson三种积分公式计算由下表数据给出的积分

?

1.5

0.3

y(x)dx。

k

xk

1 0.3

2 0.5

3 0.7

4 0.9

5 1.1

6 1.3

7 1.5

其中函数y(x)为y?x?sin

x

,将计算值与精确值作比较。 3

关于这道题目,我的理解是求出从xk到1.5的积分,因此下面都是 function y=jingq(a)

y=0.5*1.5.^2-3*cos(1.5/3)-(0.5*a.^2-3*cos(a/3)); end

注:以下步长都取为0.1 >>

对于此题的复合左矩形编的程序 function z=jux(a) x=a;

y=x+sin(x/3); n=(1.5-a)/0.1; z=0;

for i=1:n

z=z+y* 0.1;

x=x+0.1;

y=x+sin(x/3); end end

复合矩形:

function z=tix(a) x1=a;

x2=x1+0.1;

n=(1.5-a)/0.1; z=0;

for i=2:n

z=z+(x1+sin(x1)+x2+sin(x2))/2; x1=x2;

x2=x1+0.1; end

z=z*0.1; end

由上面的表格可以看出,在小数点位数较少的情况下利用复合simpson公式求出的积分结果与精确值一模一样 2-2 分析应用题

?

用以下几种数值积分公式计算积分

?

20

?

sinxdx,对区间[0,]进行2等分,使用Simpson

2

积分公式,并在该区间上使用两点和三点Gauss积分公式,输出它们的数值结果,并与精确

值作比较,说明理由。

提示:两点Gauss积分公式为

?

?bbaf(x)dx?b?a?b?ab?a?f(??f(?? ?2?22?三点Gauss积分公式为

af(x)dx?b?a?5b?a8b?a5b?a?f(?f()?f(? ?2?929292?使用两点guass公式计算出的结果

>>

G2=pi/8*(sin(pi/8-pi/24*sqrt(3))+sin(pi/8+pi/24*sqrt(3)))+pi/8*(sin(3*pi/8-pi/24*sqrt(3))+sin(pi*3/8+pi/24*sqrt(3)))

G2 =

0.999910166769890

>>

使用三点guass公式计算出的结果

>>

G3=pi/8*(5/9*sin(pi/8-pi/8*sqrt(3/5))+8/9*sin(pi/8)+5/9*sin(pi/8+pi/8*sqrt(3/5)))+pi/8*(5/9*sin(3*pi/8-pi/8*sqrt(3/5))+8/9*sin(3*pi/8)+5/9*sin(3*pi/8+pi/8*sqrt(3/5)))

G3 =

1.000000118910998

>>

>> 使用simpson 积分公式,将区间分为【0,pi/4】与【pi/4,pi/2】的两个部分,每个部分都使用公式

??

4

0??20sinxdx??sinxdx??2sinxdx?

4???3??(4f()?f()?f()?4f()?f()) 2484482?

>> sin(pi/8)

ans =

0.382683432365090

>> pi/24*(ans*4+sin(pi/4))

ans =

0.292932637839748

>> (sin(pi/4)+4*sin(3*pi/8)+sin(pi/2))*pi/24+ans

ans =

1.000134584974194

>>

精确值:1

在这三种方法中Guass三点法是误差最小的方法,,Gauss两点法精确度第二,simpson精确度最低。

2-3 分析应用题

一辆汽车用84s的时间驶完跑道的一圈。汽车的速度每隔6s用雷达测速仪确定,并从开始以ft / s在下表中的各项给出。

求跑道有多长?

注:可从数值积分的角度来求解。

function s=simpson(t,v)

n=(length(t)-1)/2;

s=0;

for i=1:n

s=s+(t(2*i+1)-t(2*i-1))/6*(v(2*i+1)+4*v(2*i)+v(2*i-1)); end

end

由于程序比较简单,在此就不加注释了

v=[124 134 148 156 147 133 121 109 99 85 78 89 104 116 123]

v =

124 134 148 156 147 133 121 109 99 85 78 89 104 116 123

>> t=[0 6 12 18 24 30 36 42 48 54 60 66 72 78 84]

t =

0 6 12 18 24 30 36 42 48 54 60 66 72 78 84

>> simpson(t,v)

ans =

9858

【MATLAB相关函数】

? 复合矩形求积公式用到的matlab函数

sum(x) 输入数组x,输出为x的和,可用于按矩形求积公式计算积分;

cumsum(x) 输入数组x,输出数组为x的依次累加和,可用于按矩形求积公式计算积分。

? 复合梯形求积公式用到的matlab函数

trapz(y) 输入数组y,输出为按梯形积分公式计算的y的积分(单位步长);

trapz(x,y) 输入x,y为同长度的数组,输出y对x的积分(按梯形公式计算,但步

长不一定相等)。

? 复合辛普森求积公式用到的matlab函数

quad(‘fun’,a,b)

用辛普森(2阶)求积公式计算以fun.m文件命名的函数(或内部函数如sin,log等)在区间(a,b)上的积分,自动选择步长,相对误差为10,输出积分值;

quad(‘fun’,a,b,tol)

同上,但指定相对误差为tol。 ?3

三. 操作方法与实验步骤(包括实验数据记录和处理)

四. 实验结果与分析

网站首页网站地图 站长统计
All rights reserved Powered by 海文库
copyright ©right 2010-2011。
文档资料库内容来自网络,如有侵犯请联系客服。zhit326@126.com