多语言展示
当前在线:634今日阅读:61今日分享:18

非线性方程的数值计算方法

满足非线性方程f(x)=0 的解x  ,称为方程的根或零点。一般用迭代法求非线性方程的根。通常,非线性方程的根不是唯一的,而任何一种方法一次只能算出一个根。因此,在求解非线性方程时,要给定初始条件或求解范围。根可为实数或复数,也称为实根或复根。
二分法
1

二分法是求方程近似解的一种简单直观的方法。设函数f(x)在[a,b]上连续,且f(a)f(b)<0,则f(x)在[a,b]上至少有一零点,这是微积分中的介值定理[1],也是使用二分法的前提条件。计算中通过对分区间缩小区间范围的步骤搜索零点的位置。

2

对于有根区间[ a, b ], 如果取x0= (a+ b)ˆ2,则 x0 将其分为两半; 然后通过检查f ( x0 ) 与f (a)是否同号来判断根的位置 ,如图。如此反复二分, 即可得出一系列的有根区间; 其中,每个区间都是前一个区间的一半。当K→∞时, 该区间的大小趋近于零, 其值便为所求方程f (x) = 0 的根。由此可见, 二分法算法简单, 在允许的误差范围内通过有限次的计算,总能求得方程在该有根区间的根。

迭代法
1

迭代法是一类利用递推公式或循环算法通过构造序列来求问题近似解的方法。

2

迭代法的算法思想,如图。

牛顿迭代法
1

设r是f(x) = 0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y = f(x)的切线L,L的方程为y = f(x0)+f'(x0)(x-x0),求出L与x轴交点的横坐标 x1 = x0-f(x0)/f'(x0),称x1为r的一次近似值。过点(x1,f(x1))做曲线y = f(x)的切线,并求该切线与x轴交点的横坐标 x2 = x1-f(x1)/f'(x1),称x2为r的二次近似值。重复以上过程,得r的近似值序列,其中x(n+1)=x(n)-f(x(n))/f'(x(n)),称为r的n+1次近似值,上式称为牛顿迭代公式。

2

解非线性方程f(x)=0的牛顿法是把非线性方程线性化的一种近似方法。把f(x)在x0点附近展开成泰勒级数 f(x) = f(x0)+(x-x0)f'(x0)+(x-x0)^2*f''(x0)/2! +… 取其线性部分,作为非线性方程f(x) = 0的近似方程,即泰勒展开的前两项,则有f(x0)+f'(x0)(x-x0)=0 设f'(x0)≠0则其解为x1=x0-f(x0)/f'(x0) 这样,得到牛顿法的一个迭代序列:x(n+1)=x(n)-f(x(n))/f'(x(n))。

推荐信息