參閱中科大數學系教案⎧⎩
⎨⎪⎪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為待求的未知數向量。迭代法的適用場合。如果未知數個數不多的話,用消去法 包...