用Python解矩陣方程 Numpy模組

2021-10-10 03:26:43 字數 1683 閱讀 7345

用python解矩陣方程,可以用兩個模組——numpysympy

矩陣方程: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...