矩陣建立及運算

2021-10-21 18:32:54 字數 2352 閱讀 9142

import numpy as np

a=np.mat([1

,2,3

])#列表#matrix([[1, 2, 3]])

b=np.mat(

'1 2 3;4 5 6;7 8 9'

)#方陣

#matrix([[1, 2, 3],

# [4, 5, 6],

# [7, 8, 9]])

c= np.mat(np.eye(3)

)#陣列

#matrix([[1., 0., 0.],

# [0., 1., 0.],

# [0., 0., 1.]])

d =2

* c#matrix([[2., 0., 0.],

# [0., 2., 0.],

# [0., 0., 2.]])

np.bmat(

'c d; d c'

)#拼接

#matrix([[1., 0., 0., 2., 0., 0.],

# [0., 1., 0., 0., 2., 0.],

# [0., 0., 1., 0., 0., 2.],

# [2., 0., 0., 1., 0., 0.],

# [0., 2., 0., 0., 1., 0.],

# [0., 0., 2., 0., 0., 1.]])

b.t #轉置

#matrix([[1, 4, 7],

# [2, 5, 8],

# [3, 6, 9]])

2.1矩陣間乘法

對應元素相乘

c*d#兩個矩陣用"*"相乘 對應元素相乘

matrix([[

2.,0

.,0.

],[0

.,2.

,0.]

,[0.

,0.,

2.]]

)np.dot(c*d)

#結果與上相同

2.2向量運算

a)標量積

標量積(scalar product)是兩個向量相乘的一種方式和結果。也被稱為數量積、點積(dot product)、內積(inner product)。

按照這種方式兩個向量相乘的結果是乙個標量

計算函式:np.dot()

c = np.mat([[

1,2]

,[3,

4]])

#np.array也可以,結果就是陣列

d = np.mat([[

5,6]

,[7,

8]])

np.dot(c, d)

#matrix([[19, 22],

# [43, 50]])

np.inner(c, d)

#matrix([[17, 23],

# [39, 53]])

#對於二維陣列,1軸是最後軸(last axes),np.inner()即將兩個陣列1軸上的元素分別對應相乘並求和,並得到最終的陣列。

b)向量積

向量積(vector product),又可以稱為叉積(cross product)或外積(outer product)

其運算結果是乙個向量,並且向量方向與原來兩個向量所構成的平面垂直

計算函式:np.cross()

v = np.array([1

,2,3

])b = np.array([9

,8,7

])np.cross(v, b)

#array([-10, 20, -10])

#np.cross()的引數不僅僅可以是一維陣列(向量),還可以是多維。

Python中矩陣建立和矩陣運算

矩陣建立和矩陣運算 矩陣建立 1 from numpy import a1 array 1,2,3 a2 mat a1 矩陣與方塊列表的區別如下 建立乙個2 4的1矩陣,預設是浮點型的資料,如果需要時int型別,可以使用dtype int 3 data5 mat random.randint 2,8...

矩陣運算及 快速冪求矩陣

矩陣運算 這裡主要是針對方陣 是很重要的乙個環節,先說加法吧 加法比較簡單,同行同列想加就可以運算的 mat operator mat a,mat b 其次就是乘法 原理也簡單 線性代數應該學過,a i k 和 b k j 和做乘積運算得到c i j mat operator mat a,mat b...

mat matlab矩陣運算及函式

矩陣的建立 一 矩陣定義 例 a 1 2 3 4 5 6 7 8 9 1 矩陣用方括號 括起 2 矩陣同一行中的元素之間用 空格 或 逗號 分隔 3 矩陣行與行之間用 分號 分開 4 直接輸入法中,分號可以用 回車 代替 二 矩陣元素賦值 1 矩陣元素的單獨賦值 例 x 5 abs x 1 2 大矩...