解線性方程組的迭代法 md

2021-08-02 14:24:24 字數 1366 閱讀 8694

參閱中科大數學系教案⎧⎩

⎨⎪⎪a

11x1+

λ+a1

nxn=

b1ma

n1x1

+λ+a

nnxn

=bn⇒

⎧⎩⎨⎪

⎪⎪⎪⎪

⎪⎪⎪⎪

⎪x1=

−1a11

(a12x

2+λ+

a1nx

n−b1

)x2=

−1a22

(a21x

1+a23

x3+λ

+a1n

xn−b

2)mx

n=−1

ann(

an1x

1+λ+

ann−

1xn−

1−bn

) ∴⎧

⎩⎨⎪⎪

⎪⎪⎪⎪

⎪⎪⎪⎪

⎪⎪⎪⎪

⎪⎪⎪⎪

⎪⎪⎪⎪

xk+1

1x(k

+1)2

mx(k

+1)n

=−1a

11(a12

x(k)

2+λ+

a1nx

(k)n

−b1)

=−1a

22(a21

x(k)

1+a23

x(k)

3+λ+

a1nx

(k)n

−b2)

=−1a

nn(a

n1x(

k)1+

λ+an

n−1x

(k)n

−1−b

n)

1、輸入係數矩陣a和向量b,和誤差控制eps

2、x1= , x2= //賦初值

3、while( ||a*x2-b||>eps)

for(j=i+1;j*x1[j]

}x2[i]=-(x2[i]-b[i])/a[i][i]}}

4、輸出解x2

-迭代演算法

1、輸入係數矩陣a和向量b,和誤差控制eps

2、x2= //賦初值

3、while( ||a*x2-b||>eps)

for(j=i+1;j*x1[j]

}x2[i]=-(x2[i]-b[i])/a[i][i]}}

4、輸出解x2

注:二種方法都存在收斂性問題

有例子表明:gauss-seidel法收斂時,jacobi法可能不收斂;而jacobi法收斂時, gauss-seidel法也可能不收斂。

求解線性方程組 Jacobi迭代法

求解線性方程組 jacobi迭代法 求解線性方程組 jacobi迭代法 include include using namespace std 二維陣列動態分配模板 template t allocation2d int m,int n return a 一維陣列動態分配模板 template t ...

jacobi迭代法求解線性方程組

首先將 方程組中的 係數矩陣 a分解成三部分,即 a l d u,如圖1所示,其中 d為對角陣,l為下三角矩陣,u為上三角矩陣。之後確定迭代格式,x k 1 b x k f 這裡 表示的是上標,括號內數字即迭代次數 如圖2所示,其中 b稱為迭代矩陣,雅克比迭代法中一般記為 j。k 0,1,再選取初始...

線性方程組之迭代法篇

不管哪一種數值演算法,其設計原理都是將複雜轉化為簡單的重複,或者說,通過簡單的重複生成複雜,在演算法設計和演算法實現過程中,重複就是力量 1 題記 一般地,線性方程組可以表達為 ax b 其中,a稱為係數矩陣,b稱為右端項,x為待求的未知數向量。迭代法的適用場合。如果未知數個數不多的話,用消去法 包...