用python解矩陣方程,可以用兩個模組——numpy和sympy
矩陣方程:ax=b
a為係數矩陣,b為解集矩陣
令b為a的增廣矩陣
1、ax=b無解的充要條件:r(a)+1=r(b)
2、ax=b唯一解的充要條件:r(a)=r(b)=n
3、ax=b無窮多解的充要條件:r(a)=r(b)<n
這裡要用到numpy.linalg模組
import numpy as np
# numpy.linalg模組包含線性代數的函式。使用這個模組,可以計算逆矩陣、求特徵值、解線性方程組以及求解行列式等
from numpy.linalg import
*p1 = np.array([[
1,2]
,[3,
4]])
y = np.array([[
5],[
9]])
print
(solve(p1,y)
)p2 = np.array([[
1,3,
4],[
2,3,
4]])
print
(solve(p1,p2)
)p3 = np.array([[
1,0,
3],[
2,5,
4],[
3,4,
5]])
p4 = np.array([[
1,3,
4],[
2,7,
4],[
6,5,
8]])
print
(solve(p3,p4)
)
結果:
[[-
1.][
3.]]
[[0.
-3.-
4.][
0.53.4
.]][
[4.75-3
.3.]
[-0.51.-
0.66666667][
-1.252.
0.33333333
]]
用這個模組求解矩陣方程時,有乙個缺點,就是:
係數矩陣a必須為n×n
相應的b矩陣為n×m
如果矩陣a不滿足n×n,會出現下面的情況:
import numpy as np
# numpy.linalg模組包含線性代數的函式。使用這個模組,可以計算逆矩陣、求特徵值、解線性方程組以及求解行列式等
from numpy.linalg import
*y = np.array([[
5],[
9]])
p2 = np.array([[
1,3,
4],[
2,3,
5]])
print
(solve(p2,y)
)
結果:
numpy.linalg.linalgerror: last 2 dimensions of the array must be square
用python解矩陣方程——sympy模組 python數學方程計算 用Python解方程
一元一次方程 例題1 這是北師大版小學六年級上冊課本95頁的一道解方程練習題 大家可以先口算一下,這道題裡面的x的值為200 接下來我們用python來實現,如下,每一句 後面都寫有解釋語 一元一次方程 x sy.symbols x 申明未知數 x a sy.solve x 1 5 x 240 x ...
python左除 程式設計用矩陣運算解線性方程組
矩陣的乘法 ruby標準庫中有matrix,定義矩陣是matrix形式 2.4.0 001 require matrix true 2.4.0 002 matrix 2,3 3,5 matrix 3 4 matrix 18 29 julia 可以直接以陣列形式來寫矩陣,多行用分號分隔,每列用空格分隔...
python 解積分方程
引用 sympy求解極限 積分 微分 二元一次方程 解方程組 2 x y 3,3 x y 7 from sympy import x symbol x y symbol y print solve 2 x y 3,3 x y 7 x,y result is 求積分 n 3 n 2 n,limit n...