求方程組 ⎧⎩
⎨⎪⎪5
x1+2
x2+x
3=−12
−x1+
4x2+
2x3=
202x1
+−3x
2+10x
3=2 {5x
1+2x
2+x3
=−12−
x1+4
x2+2
x3=20
2x1+
−3x2
+10x3
=2
上面方程當然是非常容易求解的,但是方程規模變大的時候(比如係數矩陣是100w* 100w的時候,這時候,用這個寫就會比較簡單了。。)
# @time : 2018/5/22 17:23
# @author : sean
# @site :
# @file : 1.py
# @software: pycharm
import numpy as np
a = np.array([[5.0, 2, 1], [-1, 4, 2], [2, -3, 10]])
b = np.array([-12.0, 20, 3])
x0 = np.array([0.0, 0, 0])
x = np.array([0.0, 0, 0])
times = 0
while
true:
for i in range(3):
temp = 0
for j in range(3):
if i != j:
temp += x0[j] * a[i][j]
x[i] = (b[i] - temp) / a[i][i]
caltemp = max(abs(x - x0))
times += 1
if caltemp < 1e-4:
break
else:
x0 = x.copy()
print(times)
print(x)
雅克比迭代法與高斯塞德爾迭代法求解方程組(C語言)
分別用雅可比 迭代法與高斯塞德爾迭代法解下列方程組 雅可比迭代法 include include define eps 1e 6 define max 100 雅可比迭代法 void jacobi float a,int n,float x y i a i n 1 n s a i n 1 i eps...
雅克比和高斯賽德爾迭代求方程組的解
實驗原理 雅克比和高斯的不同之處是,k 1下面那個框框,高斯是a i j y j 雅克比是a i j x j 就是因為高斯用的是更新之後的x,雅克比沒有用更新之後的x。在 編寫過程中,我沒有用到動態陣列,感覺輸入係數矩陣啥的用動態陣列更好些。但是,我寫了轉化對角佔優的部分,這部分也是非常重要的。如下...
python實現迭代法求方程組的根
有方程組如下 迭代法求解x,python 如下 import numpy as np import matplotlib.pyplot as plt a np.array 8,3,2 4,11,1 6,3,12 b np.array 20,33,36 方法一 消元法求解方程組的解 result np...