日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python矩陣的基本運算及各種操作_python

作者:木懿尓 ? 更新時間: 2022-12-14 編程語言

一、Python 矩陣基本運算

引入?numpy?庫

import numpy as np

1. python矩陣操作

1)使用?mat?函數創建一個 2X3矩陣

a = np.mat([[1, 2, 3], [4, 5, 6]])

?2)使用?shape?可以獲取矩陣的大小

a.shape

?3)進行行列轉換

a.T

4)使用二維數組代替矩陣來進行矩陣運算

b = np.array([[1, 2, 3], [4, 5, 6]])

?5)?加減法

a + b
a - b

二、python矩陣乘法

1)使用二維數組創建兩個矩陣A和B

A = np.array([[1, 2, 3], [4, 5, 6]])
B = A.T

2)一個矩陣的數乘,其實就是矩陣的每一個元素乘以該數

2 * A

?3)dot?函數用于矩陣乘法,對于二維數組,它計算的是矩陣乘積,對于一維數組,它計算的是內積?

np.dot(A, B)

np.dot( B, A)

?4)再創建一個二維數組

C = np.array([[1, 2], [1, 3]])

5)驗證矩陣乘法的結合性:( A B ) C = A ( B C ) (AB)C = A(BC)(AB)C=A(BC)

np.dot(np.dot(A, B), C)

np.dot(A, np.dot(B, C))

6)使用?eye?創建一個單位矩陣?

三、python矩陣轉置

1)A的轉置

A.T

四、python求方陣的跡

1)A的跡

五、python求逆矩陣/伴隨矩陣

逆矩陣的定義:

設A是數域上的一個n階方陣,若在相同數域上存在另一個n階矩陣B,使得: AB=BA=E。 則我們稱B是A的逆矩陣,而A則被稱為可逆矩陣。當矩陣A的行列式|A|不等于0時才存在可逆矩陣。??

1)創建一個方陣

A = np.array([[1, -2, 1], [0, 2, -1], [1, 1, -2]])

2)使用?linalg.det求得方陣的行列式

A_abs = np.linalg.det(A)

?3)?使用?linalg.inv?求得方陣A的逆矩陣

B = np.linalg.inv(A)

4)利用公式求伴隨矩陣:

A_bansui = B * A_abs

?六、python方陣的行列式計算方法

1)創建兩個方陣

E = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
F = np.array([[1, 2], [1, 3]])

2)使用?linalg.det?方法求得方陣E和方陣F的行列式

np.linalg.det(E)

np.linalg.det(F)

七、python解多元一次方程

x+2y+z=72

x?y+3z=73

x+y+2z=18

1)?將未知數的系數寫下來,排列成一個矩陣a

a = [[1, 2, 1], [2, -1, 3], [3, 1, 2]]
a = np.array(a)

2)常數項構成一個一維數組(向量)

b = [7, 7, 18]
b = np.array(b)

3)使用?linalg.solve?方法解方程,參數a指的是系數矩陣,參數b指的是常數項矩陣

x = np.linalg.solve(a, b)

4)使用點乘的方法可以驗證一下,系數乘以未知數可以得到常數項

np.dot(a, x)

附:矩陣的高級操作

M = Matrix([[1,3,4],[5,0,3],[3,5,7]])
print(M)
print("計算矩陣的行列式")
print(M.det())
print("化簡矩陣,返回兩個元素,第一個是矩陣,第二個是元組")
print(M.rref())
Matrix([[1, 3, 4], [5, 0, 3], [3, 5, 7]])
計算矩陣的行列式
7
化簡矩陣
(Matrix([
[1, 0, 0],
[0, 1, 0],
[0, 0, 1]]), [0, 1, 2])

總結

原文鏈接:https://blog.csdn.net/m0_47017197/article/details/126299993

欄目分類
最近更新