非线性方程的数值计算方法实验
- 格式:doc
- 大小:317.00 KB
- 文档页数:14
非线性方程的数值计算方法实验
【摘要】在利用数学工具研究社会现象和自然现象,或解决工程技术等问题时,很多问题都可以归结为非线性方程0x f =)(的求解问题,无论在理论研究方面还是在实际应用中,求解非线性方程都占了非常重要的地位。综合当前各类非线性方程的数值解法,通过比较分析,二分法,迭代法,牛顿—拉夫森方法,迭代法的收敛阶和加速收敛方法,以上的算法应用对某个具体实际问题选择相应的数值解法。
关 键 词 非线性方程;二分法;迭代法;牛顿-拉夫森法;割线法等。
一、实验目的
通过本实验的学习,应掌握非线性方程的数值解法的基本思想和原理,深刻认识现实中非线性方程数值的意义;明确代数精度的概念;掌握二分法、不动点迭代法、牛顿迭代法、割线法等常用的解非线性方程的方法;培养编程与上机调试能力。
二、实验原理
二分法:单变量函数方程: f (x )=0
其中,f(x)在闭区间[a ,b]上连续、单调,且f(a)*f(b)<0,则有函数的介值定理可知,方程f (x )=0在(a ,b )区间内有且只有一个解*x ,二分法是通过函数在区间端点的符号来确定*x 所在区域,将有根区间缩小到充分小,从而可以求出满足给定精度的根*x 的近似值。 下面研究二分法的几何意义:
设1a =1, 1b =b, 区间[]11,b a ,中点1x =
2
1
1b a +及()1x f ,若()1x f =0,则*x =1x ,若 f(1a )*f(1x )<0,令2a =1a ,2b =1x ,则根*x ∈ [2a ,2b ]中,这样就得到长度缩小一半的有根区间[2a ,2b ],若 f(1b )*f(1x )<0,令2a =1x ,2b =1b ,则根*x ∈ [2a ,2b ]中,这样就得到长度缩小一半的有根区间[2a ,2b ],即f(2a )f(2b )<0,此时2b -2a =
2
1
1a b -,对有根区间[2a ,2b ]重复上述步骤,即分半求中点,判断中电处符号,则可得长度有缩小一半的有根区间[2a ,2b ],
如图所示:
重复上述过程,第n 步就得到根*x 的近似序列{}n x 及包含*x 的区间套,如下: (1)...],....[],[],[2211⊃⊃⊃n n b a b a b a (2)],[,0)()(*n n n n b a x b f a f ∈< (3)n a -n b =)(1121---n n b a =…=1
2--n a
b (4) ,2n n n b a x +=
且|*x -n x |≤12
--n a
b (n=1,2,3…..) 显然lim n x ,且n x 以等比数列的收敛速度收敛于*x ,因此用二分法求f (x )=0的实根*x 可以达到任意指定精度。
(二)迭代法:对给定的方程,将它转达换成等价形式:
。
给定初值
,由此来构造迭代序列
,如果迭代法收敛,即
,有
,则
就是方程
的根。在计算中当
小于给定的精度控制量时,取为方程的根。
(三)牛顿迭代法:设方程f(x)=0在其根*x 的某个领域U(*x ,δ)内有一阶连续导数,且f ’(*x ) ≠0。求f(x)=0的根*x ,首先要将f(x)=0转化为等价形式()x x ϕ=,并使ϕ (x)满足不动点迭代的一般理论。
于是我们令ϕ (x)=x+h(x)f(x),可由ϕ ‘(1x )=0来确定h(x)的结构,根据ϕ’(x)=1+h ’(*x )f(*x )+h(*x )f ’(x1)=1+h(*x )f ’(*x )=0可得
h(*x )=-1/f ’(*x ) ,由于f ’(x) ≠0,且f ’(x) 连续,因此当h(x)=-1/f ’(x) 时, h ’(x1)=0,即令ϕ (x)=x-f(x)/f ‘(x), 从而有迭代格式 1+k x = )
(')
(k k k x f x f x -
(k=0,1,2,…..) 由于1x , 2x , 3x …….都在U 领域里,从而当B 比较小时,可用f ’(0x )可近似代替f ’(k x ),1+k x = k x - )
()
(0x f x f k ,此方法称为牛顿迭代法。
(四)割线法:设k x ,1-k x 为方程f(x)=0的两个近似根。用差商得:f(k x )-f(1-k x )/
k x - 1-k x ,代替牛顿迭代公式中的导数f’(k x ),于是得到如下的迭代公式: 1+k x =k x -
)()
()()
(11----k k k k k x x x f x f x f 。
下面研究割线法的几何意义:
经过点(k x ,f(k x ))及点(1-k x ,f(1-k x ))两点作割线,其点斜式方程为: Y=f (k x )-
)()()(11k k k k k x x x x x f x f -----,其零点为X=k x - )
()
()()
(11----k k k k k x x x f x f x f 把X 用1+k x 表示即得到迭代格式,需要两个初值此割线与 X 轴交点的横坐标就是新的近似值1-k x ,如图所示。
三、实验内容
(一)、实验描述
1.P40.1:参照程序
2.1求解出单调收敛的不动点。
2.P49.1:已知初值,时间和末值,求解汇率。 4.P69.1:已知运动方程求解运动时间和距离。
(二)、实验题目
1.使用程序
2.1求解下面每个函数的不动点(尽肯能多)近似值,答案精确到 小数点后12位。同时,构造每个函数的图和直线y=x 来显示所有不动点。
(d)cos()()x x g x x -=
2.如果在240个月内每月付款300美元,求解满足全部现金A 为500000美元的 汇率I 的近似值(精确到小数点后10位)。
4.设投射方的运动程为
/15/15
()9600(1)480()2400(1)
t t y f t e t x r t e
--==--==-
(a ) 求当撞击地面时经过的时间,精确到小数点后10位。