一、迭代法 }mkA Hmu4
iG?w;
迭代法是用于求方程或方程组近似根的一种常用的算法设计方法。设方程为f(x)=0,用某种数学方法导出等价的形式x=g(x),然后按以下步骤执行: q_OY sg
(1) 选一个方程的近似根,赋给变量x0; )cfp(16
(2) 将x0的值保存于变量x1,然后计算g(x1),并将结果存于变量x0; ufHuI*
(3) 当x0与x1的差的绝对值还小于指定的精度要求时,重复步骤(2)的计算。 6yV5Yjs
若方程有根,并且用上述方法计算出来的近似根序列收敛,则按上述方法求得的x0就认为是方程的根。上述算法用C程序的形式表示为: =P@M&Yy'
【算法】迭代法求方程的根 ";%e~
=
{ x0=初始近似根; eG a#$x?.
do { Z_ iQU1
x1=x0; 7R%
PVgS4x
x0=g(x1); /*按特定的方程计算新的近似根*/ $sB48LJuU'
} while ( fabs(x0-x1)>Epsilon); My`josJ`Pb
printf(“方程的近似根是%f\n”,x0); $fq-wl-=
} :Q0?ub]
迭代算法也常用于求方程组的根,令 (Q*2dd>
X=(x0,x1,…,xn-1) LbLbJ{68
设方程组为: T +|J19
xi=gi(X) (I=0,1,…,n-1) >"2\D|-/
则求方程组根的迭代算法可描述如下: S}XB
|
【算法】迭代法求方程组的根 1t}
(+NNjH
{ for (i=0;i<n;i++) o+PQ;Dl
x=初始近似根; HY@kw>I
do { 8,Q.t7v
for (i=0;i<n;i++) b7F3]W<`&