python 解 多元一次方程

1. 待解方程式
已知ai,bi,ci,求解x,y,z。

a1*x + b1*y+c1*z = 1
a2*x + b2*y+c2*z = 2
a3*x + b3*y+c3*z = 3

2. 需要的模塊與方法

  • numpy
    • np.linalg.solve(m, n)

3. 輸入格式
其中 np.linalg.solve(m, n)的m,n輸入格式爲:

 m = np.array([[a1, b1, c1], [a2, b2. c2], [a3, b3, c3]])
 n = np.array([1, 2, 3]) #可替換爲式子右邊的常數

4. 結果

solution = np.linalg.solve(m, n) #solution format: np.array([x, y, z])

完整僞代碼如下:

import numpy as np
"""
a1*x + b1*y+c1*z = 1
a2*x + b2*y+c2*z = 2
a3*x + b3*y+c3*z = 3
"""
 m = np.array([[a1, b1, c1], [a2, b2. c2], [a3, b3, c3]])
 n = np.array([0, 0, 0]) #可替換爲式子右邊的常數
 solution = np.linalg.solve(m, n) #solution format: np.array([x, y, z])

注意: np.linalg.solve前提是m矩陣可逆。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章