文档库 最新最全的文档下载
当前位置:文档库 › 微积分的数值计算方法

微积分的数值计算方法

微积分的数值计算方法
微积分的数值计算方法

第七章

微积分的数值计算方法

7.1 微积分计算存在的问题/数值积分的基本概念 1. 微分计算问题

求函数的导数(微分),原则上没有问题。当然,这是指所求函数为连续形式且导数存在的情形。但如果函数一表格形式给出,要求函数在某点的导数值;或者是希望某点的导数值只用其附近离散点上的函数值近似地表示,这就是新问题了,它称为微分的数值计算,或称为数值微分。 2.定积分计算问题 计算函数

f 在],[b a 上的定积分

dx x f I b

a ?=)(

当被积函数

f 的原函数能用有限形式)(x F 给出时,可用积分基本公式来计算:

)()()(a F b F dx x f I b

a -==?

然而,问题在于:①

f

的原函数或者很难找到,或者根本不存在;②

f

可能给

出一个函数表;③仅仅知道

f

是某个无穷级数的和或某个微分方程的解等等。

这就迫使人们不得不寻求定积分的近似计算,也称数值积分。

3.数值积分的基本形式

数值积分的基本做法是构造形式如下的近似公式

∑?=≈n

k k

k

b

a

x f A dx x f 0

)()( (7.1.1)

或记成

∑?=+=n

k n

k

k

b

a

f R x f A dx x f 0

][)()( (7.1.2)

∑==n

k k k x f A I 0

*

)( 和 ][f R n 分别成为],[b a 上的f

的数值求积公式及其

余项(截断误差),k x 和k

A ),,1,0(n k =分别称为求积节点和求积系数(求积

系数与被积函数无关)。

这种求积公式的特点是把求积过(极限过程)程转化为乘法与加法的代数运算。构造这种求积公式需要做的工作是:确定节点

k

x 及系数

k A ),,1,0(n k =,估计余项][f R n 以及讨论*I 的算法设计及其数值稳定

性。

4.插值型求积公式

如何构造求积公式呢?基本的技术是用被积函数

f

的Lagrange 插值多项式

)

(x L n 近似代替

f

,也即对

]

,[b a 上指定的

1

+n 个节点

b

x n ≤

)(,),(),(10n x f x f x f ,

)()()!

1(1

)()()()()()1()1(0x f n x f x l x R x L x f n n k n

k k n n ++=++=+=∑ωξ

代入(7.1.2)式等号左边有

???+=b

a n

b a n b a dx x R dx x L dx x f )()()(

?∑?++=++=b a

n n k n

k b

a k dx x x f n x f dx x l )())(()!

1(1)(])([)1()

1(0ωξ 或写成形如(7.1.2)式的一般形式: ∑?=+=n

k n

k

k

b

a

f R x f A dx x f 0

][)()( (7.1.4)

其中 ?=b

a k k dx x l A )( ),,1,0(n k = (7.1.5)

?+++=

b a

n n n dx x x f n f R )())(()!

1(1][)1()

1(ωξ (7.1.6) 称(7.1.4)为插值型求积公式。下面将要介绍的几种实用求积公式无不都是插值型公式的某种具体形式。

由上述定义,用余项公式可以衡量数值求积公式的精确程度。不过,由余项公式(7.1.6)可见,如果

f

为次数n ≤的多项式,则][f R n 中有

0)1(=+n f ,故

0][=f R n ,从而公式(7.1.4)成为等式 ∑?==n

k k k b

a x f A dx x f 0

)()(,这就是说,

当被积函数

f 为次数n ≤的多项式时,其相应的插值型求积公式不是近似公式,

而是准确公式。据此,人们引入了另一个衡量数值求积公式近似程度好坏的“代数精度” 概念。

5. 代数精度

定义7.1.1 如果数值求积公式∑?=≈n

k k k b

a x f A dx x f 0

)()(,当)(x f 是m ~0次

多项式(可表示为

m

x

x x f ,,,1)( =)时,均有∑?==n

k k k b

a

x f A dx x f 0

)()(,也

即有0][=f

R n ,便称求积公式∑=n

k k k x f A 0

)(至少具有m 次代数精度;如果当

)

(x f 是

1

+m 次多项式(可表示为

1

)(+=m x x f )时,只能是

∑?=≈n k k

k

b a

x f A dx x f 0

)()(,

也即有0][≠f R n

,便称求积公式∑=n

k k

k x f A 0

)(具有

m 次代数精度。

定理 7.1.1 有1+n 个节点的插值型求积公式(7.1.4),至少具有n 次代数精度。 例7.1.1 确定节点321,,x x x 和系数A ,使得下列形式的求积公式

)]()()([)(3

2

1

1

1

x f x f x f A dx x f ++=?-

具有3次代数精度。 解 利用代数精度定义 取

32,,,1)(x x x x f =令

???????++=++=++=++=????----11

3

332313112

3222121

13211

1)()()

()

111(1x x x A dx x x x x A dx x x x x A xdx A dx 计算得

2

1,0,21,32321==-==x x x A

即得至少具有3次代数精度的求积公式为

)]2

1()0()21([32)(1

1

f f f dx x f ++-≈?- 验证上式两端对

4)(x x f =,有

左边=2/5 ,右边=1/3

两者不相等,故可知所得公式正好为3次代数精度。

7.2 Newton-Cotes 型求积公式

构造具体形式的插值型求积公式(6.1.4)的第一个想法是考虑求积节点为等距节点的情况(这时公式可能比较简单,而且节点也就定下来了),这就是Newton-Cotes(牛顿-柯特斯公式),而Newton-Cotes 型公式当节点只有两点和三点时,就是熟知的梯形公式和Simpson(辛普生)公式。 1. Newton-Cotes 求积公式

]

,[b a 上的节点为等距节点

),,1,0,(n k n

a

b h kh a x k =-=+= (7.2.1 )

由(7.1.5)式可得插值型求积系数

?∏?≠=--==b a

n

k

j j j

k j b a k k dx x x x x dx x l A 0)( (通过变换th a x +=)

?---+-----=-n 0)()1)(1()1()!(!)1()(dt n t k t k t t t k n nk a b k

n 记

?---+----=-n 0

)()()1)(1()1()!(!)1(dt n t k t k t t t k n nk C

k n n k

(7.2.2) 并称它为Cotes 系数,从而得等距节点的插值型的n 阶Newton-Cotes 求积公式*

NC I ,

*

)()()()(NC

n

k k n k b

a

I x f C a b dx x f 记为∑?

=-=。(7.2.3) 显然,对不同的n 以及n k

,,1,0 =,按公式(7.2.2)算出)(n k C ,按公式可构造出不同

阶的Newton-Cotes 公式。

下面是Cotes 系数表 (7.2.1)

n )(n k C n k ,,1,0 =

1 1/

2 1/2

2 1/6 4/6 1/6

3 1/8 3/8 3/8 1/8

4 7/90 16/4

5 2/15 16/45 7/90

…… …… …… …… …… ……

8 989/28350 5888/28350 -928/28350 10496/28350 -4540/28350 …… 989/28350

2. 梯形公式/Simpson 公式

当1=n ,即两个节点,取积分区间],[b a 两个端点b a ,为节点时,由上表(7.2.1)可构造求积公式 T b f a f a

b dx x f b

a

记为)]()([2

)(+-≈

?

(7.2.4) 称为梯形公式。

当2=n ,即3个等距节点,取积分区间],[b a 两端点b a ,及区间中点2

b a +为节

点时,由表7.2.1可构造求积公式

S b f b a f a f a b dx x f b a

记为)]()2

(4)()[6()(++-≈? (7.2.5) 称为Simpson(辛普生)公式或抛物线求积公式。 类似地,当3=n

可构造出所谓Simpson3/8公式;当4=n 可构造出Milne(米尔尼)

公式(有时也称Cotes 公式)等等。 3. 误差分析

关于Simpson-Cotes 型求积公式的截断误差或称余项

*

)(][NC

b

a I dx x f f R -=? 的分析,计算数学家为我们证明了一个一般性定理。 定理 7.2.1 Newton-Cotes 公式(7.2.3)的余项][f R n 可表示为: (1) 对n 为奇数的情形,设

],[)1(b a C f n +∈,则

)(][)1(2η++=n n n n f h r f R ]),([b a ∈η

?--+=

n

n d n n r 0)()1()!

1(1μμμμ

(2)

n 为偶数的情形,设],[)2(b a C f n +∈,则

)(][)2(3η++=n n n n f h r f R ]),([b a ∈η

?--+=

n n d n n r 02

)()1()!

2(1μμμμ

由定理可知,Newton-Cotes 公式作为插值型公式的特例,当n 为奇数时,保持至少

n 次代数精度不变,只在n 为偶数时,代数精度才略加1次。

梯形公式具有1次代数精度,余项为

]),([)(12

)(]['

'3b a f a b f R T ∈--

=ηη (7.2.6) Simpson 公式具有3次代数精度,余项为

]),([)()2

(901][s )

4(5b a f a b f R ∈--

=ηη (7.2.7) 当n 为较大数时,Newton-Cotes 公式的数值稳定性还可能有问题,正因为如此,

对2>n 的公式我们不感兴趣。

例 7.2.1 用不同的方法计算并比较下列积分: 用传统的方法

)71828.2(71828.11|101

0 ==-==?e e e dx e x x 用梯形公式 8591401

.1][2

11

01

0=+≈?e e dx e x

2265235.012

1)01(121||][|3=≤--=e e f R T η

用Simpson 公式 7188612.1]4[6

112

101

0=++≈?e e e dx e x

00094385.02880

1)21(901||][|5=≤-

=e e f R S η

4. 数值的稳定性 若取

1=f ,可推出()1(≥n )

∑∑?==-=-??-=n

k n

k n k n k b

a

C a b a b C a b dx 0

)

()

()(1)(1 10

)(=?∑=n

k n k C

假设用n 阶的Newton-Cotes 公式做实际计算,而且

)(k x f 可能使用近似值)(k x f ,这

反映到计算上就有误差

∑∑∑===--=---n

k k k n k n

k k n k n k k n k x x f C a b x C a b x f C a b 0

)(0

)

(0

)

()]

()([)()()()()(记

|)()(|max 0k k n

k x f x f -=≤≤ε 则有 ∑∑∑∑====≤-≤-n

k n k n

k k k n k n

k k n k n

k k n k C x x f C x C x f C 0

)(0

)

(0

)

(0

)

(||)]()([|||)()(|ε

由此可见 (1) 若

0>n

k C ),,1,0(n k =,则 1||0

)(0)

(==∑∑==n

k n k n

k n k C C ,于是有

ε≤-∑∑==|)()(|0

)(0

)

(n

k k n k n

k k n k x f C x f C

即计算公式是稳定的。

(2) 若存在0

k

C ,则有 1||0

)(0

)

(=>∑∑==n

k n k n k n k C C

这样的话,初始数据误差有可能引起计算结果误差的增大,即计算的数值稳定性得不到保证。

为了方便以后应用,把上面的论证归结为更一般的结果: 定理 7.2.2 插值型求积

∑=n

k k k

x f A

)(中的求积系数

k

A 之和为

∑=-=n

k k

a b A 0

(7.2.11)

定理 7.2.3 若插值型求积∑=n

k k k x f A 0

)(中的求积系数0>k

A ),,1,0(n k =

则该求积公式公式是稳定的。

5. 复化梯形公式/复化Simpson 公式 现在,在每个子区间上利用梯形公式,有

∑∑?

?

-=+-=+≈=+1

011

)]()([2

)()(1

n k k k n k x x b

a

x f x f h

dx x f dx x f k k

n n n k k T x f x f x f h

记为)]()(2)([21

1

0++=∑-= (7.2.12)

n T 称为复化梯形公式。其余n

T

R 由(7.2.6)式当],[2b a C f ∈,有

∑-=-=1

3)(''12n k k T f h R n

η ],[1+∈k k k x x η

∑=--=n k k n

f h a b 02)(''12)(η

)(''12

)(2ηf h a b --= ],[b a ∈η (7.2.13)

如果在每个区间上利用Simpson 公式,有

∑∑??-=++-=++≈=+1

011

1

)]()2

(4)([6)()(1

n k k k k k n k x x

b

a x f x x f x f h dx x f dx x f k k

n n n k k n k k S x f x f x f x f h

记为)]()(2)(4)([61

1102

10+++=∑∑-=-=+(7.2.14)

数值计算方法试题及答案

【 数值计算方法试题一 一、 填空题(每空1分,共17分) 1、如果用二分法求方程043=-+x x 在区间]2,1[内的根精确到三位小数,需对分( )次。 2、迭代格式)2(2 1-+=+k k k x x x α局部收敛的充分条件是α取值在( )。 3、已知?????≤≤+-+-+-≤≤=31)1()1()1(211 0)(2 33x c x b x a x x x x S 是三次样条函数, 则 a =( ), b =( ), c =( )。 4、)(,),(),(10x l x l x l n 是以整数点n x x x ,,,10 为节点的Lagrange 插值基函数,则 ∑== n k k x l 0)(( ), ∑== n k k j k x l x 0 )(( ),当2≥n 时 = ++∑=)()3(20 4x l x x k k n k k ( )。 ; 5、设1326)(2 47+++=x x x x f 和节点,,2,1,0,2/ ==k k x k 则=],,,[10n x x x f 和=?07 f 。 6、5个节点的牛顿-柯特斯求积公式的代数精度为 ,5个节点的求积公式最高代数精度为 。 7、{}∞ =0)(k k x ?是区间]1,0[上权函数x x =)(ρ的最高项系数为1的正交多项式族,其中1)(0=x ?,则?= 1 4)(dx x x ? 。 8、给定方程组?? ?=+-=-2211 21b x ax b ax x ,a 为实数,当a 满足 ,且20<<ω时,SOR 迭代法收敛。 9、解初值问题 00 (,)()y f x y y x y '=?? =?的改进欧拉法 ??? ??++=+=++++)],(),([2),(] 0[111] 0[1n n n n n n n n n n y x f y x f h y y y x hf y y 是 阶方法。

数值计算方法课程报告

课程报告 课程名称______《数值计算》 __ 学生学院_____机电工程学院___ 专业班级_____微电子(1)班____ 学号________ 学生姓名_______________ 指导教师_____ ________ XXXX年XX月XX日

姓 名: 线 学 号 : 订 装专 业:学院: 广东工业大学考试试卷( A ) 课程名称: 数值计算试卷满分100 分考试时间: 2015 年 12 月 26 日(第 17 周星期六) 题号一二三四五六七八九十总分 评卷得分 评卷签名 复核得分 复核签名 “数值计算”考试要求 “数值计算”考试以开卷形式进行。在“数值计算”课程考试日(2015 年12 月 19 日,第 12 周星期五)考试时间,在考试教室领取试题,在 2015 年12 月 26 日(第 17 周星期六)进行答辩。不参加答辩者将取消考试成绩。 “数值计算”考试结果要求独立在计算机上完成,可使用Matlab或 C 程序编程实现。考试结果将以报告书形式提交,内容包括对问题描述、计算程序以及算例、计算结果、分析组成。计算程序要求具有通用性,能够处理异常情况,可以输入问题、算法参数、算例及初始值,在计算过程中显示当前计算状态、计算完成后显示计算结果。上述内容将作为试卷成绩的主要评定依据。特别提醒,不得使用教师在讲课和实验时的范例作为考试结果。报告书具体格式参考毕业设计手册。 以考生学号命名的文件夹存放程序及报告书电子版,以班级为单位刻录在一张光盘中,与打印版报告书一起由班长和学习委员一起上交任课教师。 数值计算课程总成绩将由试卷成绩(70%)、平时成绩(30%)组成。

数值分析实验报告1

实验一误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 其中ε(1.1)和(1.221,,,a a 的输出b ”和“poly ε。 (1(2 (3)写成展 关于α solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。 实验过程: 程序: a=poly(1:20); rr=roots(a); forn=2:21 n form=1:9 ess=10^(-6-m);

ve=zeros(1,21); ve(n)=ess; r=roots(a+ve); -6-m s=max(abs(r-rr)) end end 利用符号函数:(思考题一)a=poly(1:20); y=poly2sym(a); rr=solve(y) n

很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。 学号:06450210 姓名:万轩 实验二插值法

数值计算方法试题及答案

数值计算方法试题一 一、填空题(每空1分,共17分) 1、如果用二分法求方程在区间内的根精确到三位小数,需对分()次。 2、迭代格式局部收敛的充分条件是取值在()。 3、已知是三次样条函数,则 =( ),=(),=()。 4、是以整数点为节点的Lagrange插值基函数,则 ( ),( ),当时( )。 5、设和节点则 和。 6、5个节点的牛顿-柯特斯求积公式的代数精度为,5个节点的求积公式最高代数精度为。 7、是区间上权函数的最高项系数为1的正交多项式族,其中,则。 8、给定方程组,为实数,当满足,且时,SOR迭代法收敛。 9、解初值问题的改进欧拉法是 阶方法。 10、设,当()时,必有分解式,其中为下三角阵,当其对角线元素满足()条件时,这种分解是唯一的。 二、二、选择题(每题2分) 1、解方程组的简单迭代格式收敛的充要条件是()。(1), (2) , (3) , (4) 2、在牛顿-柯特斯求积公式:中,当系数是负值时,公式的稳定性不能保证,所以实际应用中,当()时的牛顿-柯特斯求积公式不使用。 (1),(2),(3),(4), (1)二次;(2)三次;(3)四次;(4)五次 4、若用二阶中点公式求解初值问题,试问为保证该公式绝对稳定,步长的取值范围为()。 (1), (2), (3), (4)

三、1、 2、(15 (1)(1) 试用余项估计其误差。 (2)用的复化梯形公式(或复化 Simpson公式)计算出该积分的近似值。 四、1、(15分)方程在附近有根,把方程写成三种不同的等价形式(1)对应迭代格式;(2)对应迭代格式;(3)对应迭代格式。判断迭代格式在的收敛性,选一种收敛格式计算附近的根,精确到小数点后第三位。选一种迭代格式建立Steffensen迭代法,并进行计算与前一种结果比较,说明是否有加速效果。 2、(8分)已知方程组,其中 , (1)(1)列出Jacobi迭代法和Gauss-Seidel迭代法的分量形式。 (2)(2)求出Jacobi迭代矩阵的谱半径,写出SOR 迭代法。 五、1、(15分)取步长,求解初值问题用改进的欧拉法求的值;用经典的四阶龙格—库塔法求的值。 2、(8分)求一次数不高于4次的多项式使它满足 ,,,, 六、(下列2题任选一题,4分) 1、1、数值积分公式形如 (1)(1)试确定参数使公式代数精度尽量高;(2)设,推导余项公式,并估计误差。 2、2、用二步法 求解常微分方程的初值问题时,如何选择参数使方法阶数尽可能高,并求局部截断误差主项,此时该方法是几阶的。 数值计算方法试题二 一、判断题:(共16分,每小题2分) 1、若是阶非奇异阵,则必存在单位下三角阵和上三角阵,使唯一成立。()

太原理工大学数值计算方法实验报告

本科实验报告 课程名称:计算机数值方法 实验项目:方程求根、线性方程组的直接解 法、线性方程组的迭代解法、代数插值和最 小二乘拟合多项式 实验地点:行勉楼 专业班级: ******** 学号: ********* 学生姓名: ******** 指导教师:李誌,崔冬华 2016年 4 月 8 日

y = x*x*x + 4 * x*x - 10; return y; } float Calculate(float a,float b) { c = (a + b) / 2; n++; if (GetY(c) == 0 || ((b - a) / 2) < 0.000005) { cout << c <<"为方程的解"<< endl; return 0; } if (GetY(a)*GetY(c) < 0) { return Calculate(a,c); } if (GetY(c)*GetY(b)< 0) { return Calculate(c,b); } } }; int main() { cout << "方程组为:f(x)=x^3+4x^2-10=0" << endl; float a, b; Text text; text.Getab(); a = text.a; b = text.b; text.Calculate(a, b); return 0; } 2.割线法: // 方程求根(割线法).cpp : 定义控制台应用程序的入口点。// #include "stdafx.h" #include"iostream"

心得体会 使用不同的方法,可以不同程度的求得方程的解,通过二分法计算的程序实现更加了解二分法的特点,二分法过程简单,程序容易实现,但该方法收敛比较慢一般用于求根的初始近似值,不同的方法速度不同。面对一个复杂的问题,要学会简化处理步骤,分步骤一点一点的循序处理,只有这样,才能高效的解决一个复杂问题。

数值计算方法学习心得

数值计算方法学习心得 ------一个代码的方法是很重要,一个算法的思想也很重要,但 在我看来,更重要的是解决问题的方法,就像爱因斯坦说的内容比 思维本身更重要。 我上去讲的那次其实做了挺充分的准备,程序的运行,pdf文档,算法公式的推导,程序伪代码,不过有一点缺陷的地方,很多细节 没有讲的很清楚吧,下来之后也是更清楚了这个问题。 然后一学期下来,总的来说,看其他同学的分享,我也学习到 许多东西,并非只是代码的方法,更多的是章胜同学的口才,攀忠 的排版,小冯的深入挖掘…都是对我而言比算法更加值得珍惜的东西,又骄傲地回想一下,曾同为一个项目组的我们也更加感到做项 目对自己发展的巨大帮助了。 同时从这些次的实验中我发现以前学到的很多知识都非常有用。 比如说,以前做项目的时候,项目导师一直要求对于要上传的 文件尽量用pdf格式,不管是ppt还是文档,这便算是对产权的一种 保护。 再比如代码分享,最基础的要求便是——其他人拿到你的代码 也能运行出来,其次是代码分享的规范性,像我们可以用轻量级Ubuntu Pastebin,以前做过一小段时间acm,集训队里对于代码的分享都是推荐用这个,像数值计算实验我觉得用这个也差不多了,其 次项目级代码还是推荐github(被微软收购了),它的又是可能更 多在于个人代码平台的搭建,当然像readme文档及必要的一些数据 集放在上面都更方便一些。

然后在实验中,发现debug能力的重要性,对于代码错误点的 正确分析,以及一些与他人交流的“正规”途径,讨论算法可能出 错的地方以及要注意的细节等,比如acm比赛都是以三人为一小组,讨论过后,讲了一遍会发现自己对算法理解更加深刻。 然后学习算法,做项目做算法一般的正常流程是看论文,尽量 看英文文献,一般就是第一手资料,然后根据论文对算法的描述, 就是如同课上的流程一样,对算法进一步理解,然后进行复现,最 后就是尝试自己改进。比如知网查询牛顿法相关论文,会找到大量 可以参考的文献。 最后的最后,想说一下,计算机专业的同学看这个数值分析, 不一定行云流水,但肯定不至于看不懂写不出来,所以我们还是要 提高自己的核心竞争力,就是利用我们的优势,对于这种算法方面 的编程,至少比他们用的更加熟练,至少面对一个问题,我们能思 考出对应问题的最佳算法是哪一个更合适解决问题。 附记: 对课程的一些小建议: 1. debug的能力不容忽视,比如给一个关于代码实现已知错误的代码给同学们,让同学们自己思考一下,然后分享各自的debug方法,一步一步的去修改代码,最后集全班的力量完成代码的debug,这往往更能提升同学们的代码能力。 2. 课堂上的效率其实是有点低的,可能会给学生带来一些负反馈,降低学习热情。 3. 总的来说还是从这门课程中学到许多东西。 数值分析学习心得体会

数值计算实验报告

(此文档为word格式,下载后您可任意编辑修改!) 2012级6班###(学号)计算机数值方法 实验报告成绩册 姓名:宋元台 学号: 成绩:

数值计算方法与算法实验报告 学期: 2014 至 2015 第 1 学期 2014年 12月1日课程名称: 数值计算方法与算法专业:信息与计算科学班级 12级5班 实验编号: 1实验项目Neton插值多项式指导教师:孙峪怀 姓名:宋元台学号:实验成绩: 一、实验目的及要求 实验目的: 掌握Newton插值多项式的算法,理解Newton插值多项式构造过程中基函数的继承特点,掌握差商表的计算特点。 实验要求: 1. 给出Newton插值算法 2. 用C语言实现算法 二、实验内容 三、实验步骤(该部分不够填写.请填写附页)

1.算法分析: 下面用伪码描述Newton插值多项式的算法: Step1 输入插值节点数n,插值点序列{x(i),f(i)},i=1,2,……,n,要计算的插值点x. Step2 形成差商表 for i=0 to n for j=n to i f(j)=((f(j)-f(j-1)(x(j)-x(j-1-i)); Step3 置初始值temp=1,newton=f(0) Step4 for i=1 to n temp=(x-x(i-1))*temp*由temp(k)=(x-x(k-1))*temp(k-1)形成 (x-x(0).....(x-x(i-1)* Newton=newton+temp*f(i); Step5 输出f(x)的近似数值newton(x)=newton. 2.用C语言实现算法的程序代码 #includeMAX_N) { printf("the input n is larger than MAX_N,please redefine the MAX_N.\n"); return 1; } if(n<=0) { printf("please input a number between 1 and %d.\n",MAX_N); return 1; } printf("now input the (x_i,y_i)i=0,...%d\n",n); for(i=0;i<=n;i++) { printf("please input x(%d) y(%d)\n",i,i);

数值分析习题与答案

第一章绪论 习题一 1.设x>0,x*的相对误差为δ,求f(x)=ln x的误差限。解:求lnx的误差极限就是求f(x)=lnx的误差限,由公式(1. 2.4)有 已知x*的相对误差满足,而 ,故 即 2.下列各数都是经过四舍五入得到的近似值,试指出它们有几位有效数字,并给出其误差限与相对误差限。 解:直接根据定义和式(1.2.2)(1.2.3)则得 有5位有效数字,其误差限,相对误差限 有2位有效数字, 有5位有效数字, 3.下列公式如何才比较准确? (1) (2)

解:要使计算较准确,主要是避免两相近数相减,故应变换所给公式。 (1) (2) 4.近似数x*=0.0310,是 3 位有数数字。 5.计算取,利用:式计算误差最小。 四个选项: 第二、三章插值与函数逼近 习题二、三 1. 给定的数值表 用线性插值与二次插值计算ln0.54的近似值并估计误差限. 解:仍可使用n=1及n=2的Lagrange插值或Newton插值,并应用误差估计(5.8)。线性插值时,用0.5及0.6两点,用Newton插值 误差限,因

,故 二次插值时,用0.5,0.6,0.7三点,作二次Newton插值 误差限 ,故 2. 在-4≤x≤4上给出的等距节点函数表,若用二次插值法求的近似值,要使误差不超过,函数表的步长h 应取多少? 解:用误差估计式(5.8), 令 因 得 3. 若,求和.

解:由均差与导数关系 于是 4. 若互异,求 的值,这里p≤n+1. 解:,由均差对称性 可知当有 而当P=n+1时 于是得 5. 求证. 解:解:只要按差分定义直接展开得 6. 已知的函数表

数值分析实验报告1

实验一 误差分析 实验(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 )1.1() ()20()2)(1()(20 1∏=-=---=k k x x x x x p 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 )2.1(0 )(19=+x x p ε 其中ε是一个非常小的数。这相当于是对()中19x 的系数作一个小的扰动。我们希望比较()和()根的差别,从而分析方程()的解对扰动的敏感性。 实验内容:为了实现方便,我们先介绍两个Matlab 函数:“roots ”和“poly ”。 roots(a)u = 其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程 01121=+++++-n n n n a x a x a x a 的全部根;而函数 poly(v)b =

的输出b 是一个n+1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“poly ”是两个互逆的运算函数。 ;000000001.0=ess );21,1(zeros ve = ;)2(ess ve = ))20:1((ve poly roots + 上述简单的Matlab 程序便得到()的全部根,程序中的“ess ”即是()中的ε。 实验要求: (1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。 如果扰动项的系数ε很小,我们自然感觉()和()的解应当相差很小。计算中你有什么出乎意料的发现表明有些解关于如此的扰动敏感性如何 (2)将方程()中的扰动项改成18x ε或其它形式,实验中又有怎样的现象 出现 (3)(选作部分)请从理论上分析产生这一问题的根源。注意我们可以将 方程()写成展开的形式, ) 3.1(0 ),(1920=+-= x x x p αα 同时将方程的解x 看成是系数α的函数,考察方程的某个解关于α的扰动是否敏感,与研究它关于α的导数的大小有何关系为什么你发现了什么现象,哪些根关于α的变化更敏感 思考题一:(上述实验的改进) 在上述实验中我们会发现用roots 函数求解多项式方程的精度不高,为此你可以考虑用符号函数solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。

数值计算方法》试题集及答案

《计算方法》期中复习试题 一、填空题: 1、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:2.367,0.25 2、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 ,拉 格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 3、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 4、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 5、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 6、计算方法主要研究( 截断 )误差和( 舍入 )误差; 7、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 8、已知f (1)=2,f (2)=3,f (4)=5.9,则二次Newton 插值多项式中x 2系数为( 0.15 ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精度 为( 5 ); 12、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表达 式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式1999 2001-

数值分析论文

题目:论数值分析在数学建模中的应用 学院: 机械自动化学院 专业: 机械设计及理论 学号: 学生姓名: 日期: 2011年12月5日

论数值分析在数学建模中的应用 摘要 为了满足科技发展对科学研究和工程技术人员用数学理论解决实际的能力的要求,讨论了数值分析在数学建模中的应用。数值分析不仅应用模型求解的过程中,它对模型的建立也具有较强的指导性。研究数值分析中插值拟合,解线性方程组,数值积分等方法在模型建立、求解以及误差分析中的应用,使数值分析作为一种工具更好的解决实际问题。 关键词 数值分析;数学建模;线性方程组;微分方程 the Application of Numerical Analysis in Methmetical Modeling Han Y u-tao 1 Bai Y ang 2 Tian Lu 2 Liu De-zheng 2 (1 College of Science ,Tianjin University of Commerce ,Tianjin ,300134 2 College of Science ,Tianjin University of Commerce ,Tianjin ,300134) Abstract In order to meet the technological scientific researchers who use mathematical theory to solve practical problems, the use of numerical analysis in mathematical modeling is discussed.Numerical analysis not only solve the model,but also relatively guide the model.Research on some numerical methods in numerical analysis which usually used in mathmetical modeling and error analysis will be a better way to solve practical problems. Key Words Numerical Analysis ;Mathematical Modeling; Linear Equations ;differential equation 1. 引言 数值分析主要介绍现代科学计算中常用的数值计算方法及其基本原理,研究并解决数值问题的近似解,是数学理论与计算机和实际问题的有机结合[1]。随着科学技术的迅速发展,运用数学方法解决科学研究和工程技术领域中的实际问题,已经得到普遍重视。数学建模是数值分析联系实际的桥梁。在数学建模过程中,无论是模型的建立还是模型的求解都要用到数值分析课程中所涉及的算法,如插值方法、最小二乘法、拟合法等,那么如何在数学建模中正确的应用数值分析内容,就成了解决实际问题的关键。 2. 数值分析在模型建立中的应用 在实际中,许多问题所研究的变量都是离散的形式,所建立的模型也是离散的。例如,对经济进行动态的分析时,一般总是根据一些计划的周期期末的指标值判断某经济计划执行的如何。有些实际问题即可建立连续模型,也可建立离散模型,但在研究中,并不能时时刻刻统计它,而是在某些特定时刻获得统计数据。例如,人口普查统计是一个时段的人口增长量,通过这个时段人口数量变化规律建立离散模型来预测未来人口。另一方面,对常见的微分方程、积分方程为了求解,往往需要将连续模型转化成离散模型。将连续模型转化成离散模型,最常用的方法就是建立差分方程。 以非负整数k 表示时间,记k x 为变量x 在时刻k 的取值,则称k k k x x x -=?+1为k x 的一阶差分,称k k k k k x x x x x +-=??=?++1222)(为k x 的二阶差分。类似课求出k x 的n 阶差分k n x ?。由k ,k x ,及k x 的差分给出的方程称为差分方程[2]。例如在研究节食与运动模型时,发现人们往往采取节食与运动方式消耗体内存储的脂肪,引起体重下降,达到减肥目的。通常制定减肥计划以周为时间单位比较方便,所以采用差分方程模型进行讨论。记第k 周末体重为)(k w ,第k 周吸收热量为)(k c ,热量转换系数α,代谢消耗系数β,在不考虑运动情况下体重变化的模型

数值分析作业答案

数值分析作业答案 插值法 1、当x=1,-1,2时,f(x)=0,-3,4,求f(x)的二次插值多项式。 (1)用单项式基底。 (2)用Lagrange插值基底。 (3)用Newton基底。 证明三种方法得到的多项式是相同的。 解:(1)用单项式基底 设多项式为: , 所以: 所以f(x)的二次插值多项式为: (2)用Lagrange插值基底 Lagrange插值多项式为: 所以f(x)的二次插值多项式为: (3) 用Newton基底: 均差表如下: xk f(xk) 一阶均差二阶均差 1 0 -1 -3 3/2 2 4 7/ 3 5/6 Newton插值多项式为: 所以f(x)的二次插值多项式为: 由以上计算可知,三种方法得到的多项式是相同的。 6、在上给出的等距节点函数表,若用二次插值求ex的近似值,要使截断误差不超过10-6,问使用函数表的步长h应取多少? 解:以xi-1,xi,xi+1为插值节点多项式的截断误差,则有 式中 令得 插值点个数

是奇数,故实际可采用的函数值表步长 8、,求及。 解:由均差的性质可知,均差与导数有如下关系: 所以有: 15、证明两点三次Hermite插值余项是 并由此求出分段三次Hermite插值的误差限。 证明:利用[xk,xk+1]上两点三次Hermite插值条件 知有二重零点xk和k+1。设 确定函数k(x): 当或xk+1时k(x)取任何有限值均可; 当时,,构造关于变量t的函数 显然有 在[xk,x][x,xk+1]上对g(x)使用Rolle定理,存在及使得 在,,上对使用Rolle定理,存在,和使得 再依次对和使用Rolle定理,知至少存在使得 而,将代入,得到 推导过程表明依赖于及x 综合以上过程有: 确定误差限: 记为f(x)在[a,b]上基于等距节点的分段三次Hermite插值函数。在区间[xk,xk+1]上有 而最值 进而得误差估计: 16、求一个次数不高于4次的多项式,使它满足,,。

数值分析学习方法

第一章 1霍纳(horner)方法: 输入=c + bn*c bn?1*c b3*c b2*c b1*c an an?1 an?2 ……a2 a1 a0 bn bn?1 bn?2 b2 b1 b0 answer p(x)=b0 该方法用于解决多项式求值问题=anxn+an?1xn?1+an?2xn?2+……+a2x2+a1x+a0 ? 2 注:p为近似值 p(x) 绝对误差: ?|ep?|p?p ?||p?p rp? |p| 相对误差: ?|101?d|p?p rp?? |p|2 有效数字: (d为有效数字,为满足条件的最大整数) 3 big oh(精度的计算): o(h?)+o(h?)=o(h?); o(hm)+o(hn)=o(hr) [r=min{p,q}]; o(hp)o(hq)=o(hs) [s=q+p]; 第二章 2.1 求解x=g(x)的迭代法用迭代规则 ,可得到序 列值{}。设函数g 满足 y 定义在得 。如果对于所有 x ,则函数g 在 ,映射y=g(x)的范围 内有一个不动点; 此外,设 ,存在正常数k<1,使 内,且对于所有x,则函数g 在 内有唯一的不动点p。 ,(ii)k是一个正常数, 。如果对于所有 定理2.3 设有(i)g,g ’(iii ) 如果对于所有x在

这种情况下,p成为排斥不动点,而且迭代显示出局部发散 性。波理 尔 查 . 诺 二 分 法 ( 二 分 法 定) <收敛速度较慢> 试值(位)法:<条件与二分法一样但改为寻求过点(a,f(a))和(b,f(b))的割线l与 x轴的交点(c,0)> 应注意 越来越 小,但可能不趋近于0,所以二分法的终止判别条件不适合于试值法 . f(pk?1) 其中k=1,2,……证明:用 f(pk?1) 牛顿—拉夫森迭代函数:pk?g(pk?1)?pk?1? 泰勒多项式证明 第三章线性方程组的解法对于给定的解线性方程组ax=b a11x1 ? a12x2 ? ? ? a1nxn ? b1 a21x1 ? a22x2 ? ? ? a2nxn ? b2 ? an1x1 ? an2x2 ? ? ? annxn ? bn 一gauss elimination (高斯消元法第一步forward elimination 第二步 substitution 二lu factorization 第一步 a = lu 原方程变为lux=y ; 第二步令ux=y,则ly = b由下三角解出y;第三步 ux=y,又上三角解出x ; 三iterative methods(迭代法) a11x1 ? a12x2 ? ? ? a1nxn ? b1 a21x1 ? a22x2 ? ? ? a2nxn ? b2? ) back 初始值 0,x0,?,x0x1n2 四 jacobi method 1.选择初始值 2.迭代方程为 0,x0,?,x0x1n2 k?1? x1k?1 ? x2

数值分析课程报告

插值法和多项式拟合的研究 摘要 在科研和生产实践中,常常需要通过一组测量数据来寻找变量x与y的函数关系近似表达式。解决这类问题的方法有两种:一种是插值法,另一种是拟合法。插值法的原理是用一个简单函数逼近被计算函数,然后用该简单函数的函数值近似替代被计算函数的函数值。拟合法能够是从给定的一组实验数据出发,寻找函数的一个近似表达式,该近似表达式能反映数据的基本趋势而又不一定过全部的点,即曲线拟合。本文主要介绍拉格朗日插值法、埃尔米特插值法、三次样条插值法以及基于最小二乘法的多项式拟合。 关键词:拉格朗日插值,埃尔米特插值,样条插值,多项式拟合

1方法的意义 在许多实际问题及科学研究中,因素之间往往存在着函数关系,然而,这种关系经常很难有明显的解析表达,通常只是由观察与测试得到一些离散数值。有时,即使给出了解析表达式,却由于表达式过于复杂,不仅使用不便,而且不易于进行计算与理论分析。解决这类问题的方法有两种:一种是插值法,另一种是拟合法。插值法的原理是用一个简单函数逼近被计算函数,然后用该简单函数的函数值近似替代被计算函数的函数值。它要求给出函数的一个函数表,然后选定一种简单的函数形式,比如多项式、分段线性函数及三角多项式等,通过已知的函数表来确定一个简单的函数()x ?作为()f x 的近似,概括地说,就是用简单函数为离散数组建立连续模型。插值法在实际应用中非常广泛,但是它也有明显的缺陷,一是测量数据常常带有测试误差,而插值多项式又通过所有给出的点,这样就是插值多项式保留了这些误差;二是如果实际得到的数据过多,则必然得到次数较高的插值多项式,这样近似的效果并不理想。拟合法能够很好的解决这些问题,它从给定的一组实验数据出发,寻找函数的一个近似表达式y=()x ?,该近似表达式能反映数据的基本趋势而又不一定过全部的点,即曲线拟合的问题,函数的近似表达式y=()x ?称为拟合曲线。常用最小而二乘法来确定拟合曲线。 2插值法的介绍 2.1 插值法定义 设 f (x )为[a ,b ]上的函数,在互异点n x x x ,...,,10处的函数值分别为 )(),...,(),(10n x f x f x f ,构造一个简单函数 ?(x ) 作为函数 f (x ) 的近似表达式y = f (x ) ≈ ?(x ),使 )()(i i x f x =? , i =0, 1, 2, …,n (1.0) 则称?(x ) 为关于节点n x x x ,...,,10的插值函数;称n x x x ,...,,10 为插值节点;称 ))((i i x f x , i =1,2,… , n 为插值点;f (x ) 称为被插值函数。式(1.0)称为插值条 件。这类问题称为插值问题。插值的任务就是由已知的观测点,为物理量(未知量)建立一个简单的、连续的解析模型,以便能根据该模型推测该物理量在非观测点

(完整版)哈工大-数值分析上机实验报告

实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)<0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)<0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。重复运行计算,直至满足精度为止。这就是二分法的计算思想。

Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式 产生逼近解x*的迭代数列{x k},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 其中r为要求的方程的根的重数,这就是改进的Newton法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x); y=-x*x-sin(x); 写成如上形式即可,下面给出主程序。 二分法源程序: clear %%%给定求解区间 b=1.5; a=0;

%%%误差 R=1; k=0;%迭代次数初值 while (R>5e-6) ; c=(a+b)/2; if f12(a)*f12(c)>0; a=c; else b=c; end R=b-a;%求出误差 k=k+1; end x=c%给出解 Newton法及改进的Newton法源程序:clear %%%% 输入函数 f=input('请输入需要求解函数>>','s') %%%求解f(x)的导数 df=diff(f);

数值计算方法试题集及答案要点

《数值计算方法》复习试题 一、填空题: 1、 ?? ??? ?????----=410141014A ,则A 的LU 分解为 A ? ???????? ???=????????? ?? ?。 答案: ?? ????????--??????????--=1556141501 4115401411A 2、已知3.1)3(,2.1)2(, 0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求 得?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:2.367,0.25 3、1)3(,2)2(, 1)1(==-=f f f ,则过这三点的二次插值多项式中2x 的系数 为 ,拉格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 4、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 5、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 6、对 1)(3++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 7、计算方法主要研究( 截断 )误差和( 舍入 )误差; 8、用二分法求非线性方程f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为( 1 2+-n a b ); 9、求解一阶常微分方程初值问题y '= f (x ,y ),y (x 0)=y 0的改进的欧拉公

数值计算方法实验报告(例)讲解

实验报告 一、实验目的 二、实验内容 三、实验环境 四.实验方法 五、实验过程 1实验步骤 2 关键代码及其解释 3 调试过程 六、实验总结 1.遇到的问题及解决过程 2.产生的错误及原因分析 3.体会和收获。 七、程序源代码: 八、教师评语

实验报告 一.试验目的:练习用数值方法求解给定的非线性方程。 二.实验内容:求解人口方程: )1(5 .43e 1004.156-+ =λλλ e 要求误差小于410-。 三.实验环境:PC 计算机,FORTRAN 、C 、C ++、VB 任选一种。 四.实验方法:牛顿法 牛顿法简述:牛顿法是一种特殊的迭代法,其迭代公式为: ,2,1,0,) () (1='- =+k x f x f x x k k k k , 当数列{}k x 收敛时,其极限值x 即为方程的解。 定理:给定方程],[,0)(b a x x f ∈= 1)设0)()(''x f x f ; 则牛顿法产生的序列{}k x 收敛于0)(=x f 在],[b a 内的唯一解x 。 五.实验过程: 1.编程: 用C 语言编出牛顿法的源程序。 2. 开机, 打开C 语言编译程序,键入所编程序源代码. 3. 调试程序, 修改错误至能正确运行. 六.实验总结: (1)牛顿法收敛速度快,但初值不容易确定,往往由于初值取得

不当而使迭代不收敛或收敛慢,但若能保证)()(1+>K K x f x f (称为下山条件),则有可能收敛。把新的近似值看作初值的话会比原来的取得好,有可能落入局部收敛的邻域。 (2)牛顿法要求)(x f '在x 附近不为零。亦即x 只能是单根, 不能求重根。可用重根加速收敛法求重根。 (3)牛顿法的每一步迭代中,都要计算一次导数值,若计算)(x f '比计算函数的近似值要麻烦的多。为了避免求导数,可用差商近似代替微商 1 1) ()()(----='K K K K K x x x f x f x f 此时牛顿迭代法改为 )() ()() (111--+--- =K K K K K K K x x x f x f x f x x . (4) 由于人口方程来源于实际问题, λ代表人口增长率, 其真实 值不会太大, 初值不应取得过大.否则会得到该方程的另外一个解 七、程序源代码: #include #define ep 1e-4 float f (float x) { float y; y=100*exp(x)+43.5*(exp(x)-1)/x-156.4; return(y); } float df (float x) { float y; y=100*exp(x)+43.5*( x*exp(x)-exp(x)+1)/(x*x); return(y); } float root(float x) { float y; if (fabs)f

数值分析实验报告1

实验一 误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 )1.1() ()20()2)(1()(20 1∏=-=---=k k x x x x x p 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 )2.1(0 )(19=+x x p ε 其中ε是一个非常小的数。这相当于是对(1.1)中19x 的系数作一个小的扰动。我们希望比较(1.1)和(1.2)根的差别,从而分析方程(1.1)的解对扰动的敏感性。 实验内容:为了实现方便,我们先介绍两个Matlab 函数:“roots ”和“poly ”。 roots(a)u = 其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程 01121=+++++-n n n n a x a x a x a 的全部根;而函数 poly(v)b = 的输出b 是一个n+1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“poly ”是两个互逆的运算函数。 ;000000001.0=ess );21,1(zeros ve = ;)2(ess ve =

相关文档
相关文档 最新文档