数值分析实验报告2

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告

一、实验名称

复合梯形求积公式、复合辛普森求积公式、龙贝格求积公式及自适应辛普森积分。

二、实验目的及要求

1. 掌握复合梯形求积计算积分、复合辛普森求积计算积分、龙贝格求积计算积分和自适应辛普森积分的基本思路和步骤.

2. 培养Matlab 编程与上机调试能力. 三、实验环境

计算机,MATLAB 软件 四、实验内容

1.用不同数值方法计算积分9

4

ln 1

0-=⎰

xdx x 。 (1)取不同的步长h 。分别用复合梯形及复合辛普森求积计算积分,给出误差中关于h 的函数,并与积分精确指比较两个公式的精度,是否存在一个最小的h ,使得精度不能再被改善。

(2)用龙贝格求积计算完成问题(1)。 (3)用自适应辛普森积分,使其精度达到10-4。 五、算法描述及实验步骤

1.复合梯形公式

将区间[a,b]划分为n 等份,分点x k =a+ah,h=(b-a)/h,k=0,1,...,n ,在每个子区间[x k ,x k +1](k=0,1,...,n-1)上采用梯形公式(),得

)]()([2

)(b f a f a b dx x f b a

+-≈⎰ () )]()(2)([2)]()([21

1

110b f x f b f h

x f x f h T n k k k n k k n ++=+=∑∑-=+-= ()

),(),(12

)('

'2b a f h a b f R n ∈--

=ηη () 其中Tn 称为复合梯形公式,Rn 为复合梯形公式的余项。

2.复合辛普森求积公式

将区间[a,b]划分为n 等份,在每个子区间[x k ,x k +1](k=0,1,...,n-1)上采用辛普森公式(),得

)]()2

(4)([6b f b a f a f a b S +++-= ()

)]()(2)(4)([6)]

()()([61

1

102/112/11

b f x f x f b f h

x f x f x f h S n k k n k k k k n k k n +++=++=∑∑∑-=-=+++-= () ),(),()2

(180)()

4(4b a f h a b f R n ∈-=

ηη () 其中Sn 称为复合辛普森求积公式,Rn 为复合辛普森求积公式的余项。

3.龙贝格算法 统一的公式:

)(1

41

)2(144)(11h T h T h T m m m m m m -----= ()

经过m (m=1,2...)次加速后,余项便取下列形式:

...)()2(22)1(21+++=++m m m h h I h T ξξ ()

上述处理方法通常称为理查森外推加速法。

设以)(0k T 表示二分k 次后求得的梯形值,且以)

(k m T 表示序列{)(0k T }的m 次加

速值,则依递推公式()可得

,...2,1,1

41144)()

(1)1(1)(=---=-+-k T T h T

k m m

k m m m k m

() 公式()也称为龙贝格求积算法,计算过程如下:

(1)取k=0,h=b-a,求)]

()([2)0(0b f a f h

T +=。令k →1(k 记区间[a,b]的二分次数)。

(2)求梯形值T 0((b-a)/2k ),即按递推公式()计算)(0k T 。

∑-=++=1

2/12)(221n k k n n x f h T T ()

(3)求加速值,按公式()逐个求出T 值。

(4)若ε<--)

0(1)0(k k T T (预先给定的精度),则终止计算,并取I T k ≈)0(;否则

令k k →+1转(2)继续计算。

4.自适应积分方法

设给定精度要求0>ε,计算积分dx x f f I b

a

⎰=)()(的近似值。先取步长h=b-a ,

应用辛普森公式有

),(),()2

(180),()()(4

4b a f h a b b a S dx x f f I b

a ∈--

==⎰ηη ()

表区间[a,b]对分,步长h 2=h/2=(b-a)/2,在每个小区间上用辛普森公式,得

),(),()2

(180),()(4

422b a f h a b b a S f I ∈--

=ξξ () 上式即为

),(),()4

(180),()(4

42b a f h a b b a S f I ∈--

=ξξ () 将()与()比较得 212215

1),(),(151),()(S S b a S b a S b a S f I -=-≈

- 则期望得到

ε<-),()(2b a S f I () 此时可取S 2(a,b)作为dx x f f I b

a ⎰=)()(的近视,则可达到给定的误差精度ε。

如果不行,则细分区间,进行计算。 六、调试过程及实验结果

取不同的步长,得到的不同结果如下表:

七、总结

通过本次学习Matlab ,掌握了复合梯形求积公式、复合辛普森求积公式、龙贝格求积公式及自适应辛普森积分的程序和算法,为以后处理数据提供一种更加简便,准确的方法。

八、附录(源程序清单)

1.复合梯形

function s=fuhetixing(f,a,b,n) %f 为被积分函数 %a ,b 是积分上下限 %n 是子区间个数 %s 是积分值 h=(b-a)/n; s=0;

for k=1:(n-1) x=a+h*k;

s=s+feval('f',x); end

相关文档
最新文档