nullnull上次课主要讲述了1. Gauss公式和Legendre多项式两点Gauss公式一点Guass公式(中矩形公式)null2.数值微分的中点方法以及Richardson外推法三点Gauss公式null第四章 方程求根的迭代法的根。的根。许多实际工作中常常会遇到求非线性方程的问题。求n 次代数方程:求超越方程的根,如求这些都
现为求方程 f (x)=0 的根,或称为求函数 f (x) 的零点。null方程的根可能是实数,也可能是复数。根的个数有的是有限多个,有的是无限多个。我们主要讨论方程在某个范围内的一个实根,使用的方法是迭代法。迭代法分两步:
提供根的某个猜测值,即迭代初值。
将迭代初值逐步加工成满足精度要求的根。null第一节 迭代原理我们称 为迭代函数,例如我们可以取 当 x0 给定以后,用上述公式可以算出 x1 ,再由 x1 算出 x2 …,这样计算出一个数列 { xn}。1. 迭代法的基本思想若给定方程 f (x)=0 以后,我们改写成下面等价形式迭代公式为null则有表明它是方程 f (x)=0 的根。如果数列 { xn} 收敛,设迭代的基本思想是将隐式方程 的求根问题归结为计算一组显式公式
迭代过程是一个逐步显式化的过程。
例1:求 的唯一的正根。
解: 因为多项式是连续函数,用1和2代入左边 得到 -1 和 5 ,显然区间[1,2]含有方程的一个根。
我们将方程改写成
null 初值可以从区间[1,2]中任意选取,通常取中点 x0=1.5。迭代结果如下表所示nully=x x2 x1 x0左边收敛的,右边是发散的。显然收敛性是问题的关键。y=x x0 x1 null假设 x* 是方程 的根,则由微分中值定理有其中 是 x* 和 xk 之间的某一点。2. 迭代过程的收敛性如果存在正数 L<1,使得则有故 ,迭代收敛。因此,对迭代误差 ek= | x*-xk | 有 ek Lk e0,null则迭代过程 对任意的初值 均收敛于方程 的根 x*。在上述推理中,还要求 ,因此 假设 在 [a,b] 上有连续的一阶导数, 而且1)2)定理1null并且有下列估计式nullC语言程序的主体是:
int xxxxxx(double x0, double e, int N, double (*F)( ), double *x )
{
double x1;
int k;
for (k=1; k<=N; k++, x0=x1) {
x1=F(x0);
if (fabs(x1-x0)
流程图开始读入x0, e, N1==>k|x2-x0|
k
x2=>x0输出失败输出x2结束NNYYnull迭代公式 和初始迭代值 x0 。这次课主要讲述了用迭代法解方程。并注意它的收敛条件加速收敛的公式是其中 和①
②