matlab实验报告--求代数方程的近似根

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

数学实验报告

实验序号: 日期: 年 月 日

班级

姓名

学号

实验名称:求代数方程的近似根 问题背景描述:

求代数方程0)(=x f 的根是最常见的数学问题之一,当)(x f 是一次多项式时,称0)(=x f 为线性方程,否则称之为非线性方程.

当0)(=x f 是非线性方程时,由于)(x f 的多样性,尚无一般的解析解法可使用,但如果对任意的精度要求,能求出方程的近似根,则可以认为求根的计算问题已经解决,至少能满足实际要求.

本实验介绍一些求方程实根的近似值的有效方法,要求在使用这些方法前先确定求根区间],[b a ,或给出某根的近似值0x .

实验目的:

1. 了解代数方程求根求解的四种方法:对分法、迭代法、牛顿切线法

2. 掌握对分法、迭代法、牛顿切线法求方程近似根的基本过程。

实验原理与数学模型:

1.对分法

对分法思想:将区域不断对分,判断根在某个分段内,再对该段对分,依此类推,直到满足精度为止.对分法适用于求有根区间内的单实根或奇重实根.

设)(x f 在],[b a 上连续,0)()(<⋅b f a f ,即 ()0f a >,()0f b <或()0f a <,()0f b >.则根据连续函数的介值定理,在),(b a 内至少存在一点 ξ,使()0f ξ=.

下面的方法可以求出该根:

(1) 令02

a b

x +=,计算0()f x ;

(2) 若0()0f x =,则0x 是()0f x =的根,停止计算,输出结果0x x =.

若 0()()0f a f x ⋅<,则令1a a =,10b x =,若0()()0f a f x ⋅>,则令10a x =,1b b =;11

12

a b x +=. ……,有k a 、k b 以及相应的2

k k

k a b x +=

. (3) 若()k f x ε≤ (ε为预先给定的精度要求),退出计算,输出结果2

k k

k a b x +=; 反之,返回(1),重复(1),(2),(3).

以上方法可得到每次缩小一半的区间序列{[,]}k k a b ,在(,)k k a b 中含有方程的根.

当区间长k k b a -很小时,取其中点2

k k

k a b x +=

为根的近似值,显然有 1111111

()()()2222

k k k k k k x b a b a b a ξ--+-≤-=⨯⨯-==-

以上公式可用于估计对分次数k .

2. 迭代法

1) 迭代法的基本思想:

由方程()0f x =构造一个等价方程

()x x φ=

从某个近似根0x 出发,令

1()k k x x φ+=, ,2,1,0=k

可得序列{}k x ,这种方法称为迭代法.

若 {}k x 收敛,即

*lim k k x x →∞

=,

只要()x φ连续,有

1lim lim ()(lim )k k k k k k x x x φφ+→∞

→∞

→∞

==

可知,{}k x 的极限*x 是()x x φ=的根,也就是()0f x =的根.

当然,若k x 发散,迭代法就失败. 迭代过程1()k k x x φ+=收敛的常用判别标准:

当根区间[,]a b 较小,且对某一0[,]x a b ∈,()'x φ明显小于1时,则迭代收敛

2) 迭代法的加速:

a) 松弛法:

若()x φ与k x 同是*x 的近似值,则1(1)()k k k k k x x x ωωφ+=-+是两个近似值的加权平均,其中k ω称为权重,现通过确定k ω看能否得到加速.

迭代方程是:

()x x ψ←

其中()(1)()x x x ψωωφ=-+,令'()1'()0x x ψωωφ=-+=,试确定ω:

当'()1x φ≠时,有11'()x ωφ=

-,即当1

1'()k k x ωφ=-,'()11'()

k k k x x φωφ--=-时,

可望获得较好的加速效果,于是有松弛法:1(1)()k k k k k x x x ωωφ+=-+,1

1'()

k k x ωφ=-

b) Altken 方法:

**()x x φ=,*x 是它的根,0x 是其近似根. 设10()x x φ=,21()x x φ=,因为

****222121[][()()]()()x x x x x x x x 'x x φφφξ=+-=+-=+-, 用差商

10211010

()()

x x x x x x x x φφ--=--近似代替()'φξ,有 **

212110

()x x x x x x x x -≈+

-- , 解出*x ,得

**()

x x φ=

2

*

212210

()2x x x x x x x -≈-

-+ 由此得出公式

(1)()k k x x φ= ; (2)(1)()k k x x φ=;

(2)(1)2(2)

1(2)

(1)

()

2k k k k

k k k

x x x x

x x x +-==-+, ,2,1,0=k 这就是Altken 公式。

3. 牛顿(Newton)法(牛顿切线法) 1) 牛顿法的基本思想:

()0f x =是非线性方程,一般较难解决,多采用线性化方法.

20000''()

()()'()()()2!

f f x f x f x x x x x ξ=+-+

- 记:000()()'()()P x f x f x x x =+-

()P x 是一次多项式,用()0P x =作为()0f x =的近似方程.

000()()'()()0P x f x f x x x =+-=的解为

000()

'()

f x x x f x =-

0('()0)f x ≠ 记为1x ,一般地,记

1()

'()

k k k k f x x x f x +=-

,2,1,0=k 即为牛顿法公式。

实验所用软件及版本:

Matlab 7.0

相关文档
最新文档