常用演算法設計方法之迭代法

2021-04-12 14:50:17 字數 943 閱讀 4212

迭代法是用於求方程或方程組近似根的一種常用的演算法設計方法。設方程為

f(x)=0

,用某種數學方法匯出等價的形式

x=g(x)

,然後按以下步驟執行: (

1)選乙個方程的近似根,賦給變數x0;

(2)將x0

的值儲存於變數

x1,然後計算

g(x1)

,並將結果存於變數x0;

(3)當x0與x1

的差的絕對值還小於指定的精度要求時,重複步驟(

2)的計算。

若方程有根,並且用上述方法計算出來的近似根序列收斂,則按上述方法求得的

x0就認為是方程的根。上述演算法用

c程式的形式表示為:

【演算法】迭代法求方程的根

while ( fabs(x0-x1)>epsilon);

printf(「

方程的近似根是

%f/n」

,x0);

} 迭代演算法也常用於求方程組的根,令 x=

(x0,x1

,…,xn-1)

設方程組為:

xi=gi(x)(i=0,1

,…,n-1)

則求方程組根的迭代演算法可描述如下:

【演算法】迭代法求方程組的根

while (delta>epsilon);

for (i=0;i

printf(「

變數x[%d]

的近似根是

%f」,i,

x);printf(「/n」);

} 具體使用迭代法求根時應注意以下兩種可能發生的情況: (

1)如果方程無解,演算法求出的近似根序列就不會收斂,迭代過程會變成死迴圈,因此在使用迭代演算法前應先考察方程是否有解,並在程式中對迭代的次數給予限制; (

2)方程雖然有解,但迭代公式選擇不當,或迭代的初始近似根選擇不合理,也會導致迭代失敗

演算法設計之迭代法!

常用演算法設計方法之迭代法 一 迭代法 迭代法是用於求方程或方程組近似根的一種常用的演算法設計方法。設方程為f x 0,用某種數學方法匯出等價的形式x g x 然後按以下步驟執行 1 選乙個方程的近似根,賦給變數x0 2 將x0的值儲存於變數x1,然後計算g x1 並將結果存於變數x0 3 當x0與...

常用演算法設計方法 一 迭代法

迭代法是用於求方程或方程組近似根的一種常用的演算法設計方法。設方程為f x 0,用某種數學方法匯出等價的形式x g x 然後按以下步驟執行 1 選乙個方程的近似根,賦給變數x0 2 將x0的值儲存於變數x1,然後計算g x1 並將結果存於變數x0 3 當x0與x1的差的絕對值還小於指定的精度要求時,...

MATLAB之牛頓迭代法

1 迭代公式 將 f x 在點xk做taylor展開f x f xk f xk x xk 則有 x k 1 x k f x k f x k 2 牛頓法的幾何意義 由上式可知,如果如果我們選擇x0作為初始點,點 x0,f x0 的切線方程為y f x0 f x0 x x0 該切線方程與x軸交點的橫座標...