numpy 矩陣運算

2021-08-08 12:11:25 字數 2504 閱讀 6484

numpy 通過matrix基類支援向量運算, 下面是生產向量的方法

**&執行結果:

雖然array與matrix形式上類似, 但不是一回事哦;我們可以通過array生成matrix物件, matrix物件提供矩陣計算功能。

>>> from numpy import *;

>>> #numpy 多維資料元件, 不支援向量運用

>>> a1=array([1,2,3]);

>>> type(a1)

'numpy.ndarray'>

>>> #numpy 矩陣元件, 支援向量運算

>>> a1=mat(a1);

>>> type(a1)

'numpy.matrixlib.defmatrix.matrix'>

>>> a1

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

>>>

2.1、矩陣與標量相加

矩陣與標量相加, 相當於矩陣的每個元素都加上同乙個標量。

>>> a = array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

>>> a = mat(a)

>>> a

matrix([[1, 2, 3],

[4, 5, 6],

[7, 8, 9]])

>>> # 矩陣a與標量常數1相加

>>> a + 1

matrix([[ 2, 3, 4],

[ 5, 6, 7],

[ 8, 9, 10]])

>>>

2.2、矩陣與向量相加

結果顯示為矩陣中的每個向量都加上相同的向量。

>>> a = array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

>>> b = array([10, 20, 30])

>>> a = mat(a)

>>> b = mat(b)

>>> a

matrix([[1, 2, 3],

[4, 5, 6],

[7, 8, 9]])

>>> b

matrix([[10, 20, 30]])

>>> a+b

matrix([[11, 22, 33],

[14, 25, 36],

[17, 28, 39]])

2.2、矩陣與矩陣相加

矩陣中的各個向量各種相關

>>> a

matrix([[1, 2, 3],

[4, 5, 6],

[7, 8, 9]])

>>> a + a

matrix([[ 2, 4, 6],

[ 8, 10, 12],

[14, 16, 18]])

>>>

3.1 矩陣與標量相乘

矩陣每個元素乘與相同標量, 跟加法有點類似

>>> a

matrix([[1, 2, 3],

[4, 5, 6],

[7, 8, 9]])

>>> a*2

matrix([[ 2, 4, 6],

[ 8, 10, 12],

[14, 16, 18]])

3.2 矩陣與向量相乘

矩陣乘法是矩陣運算中最重要的操作之一。兩個矩陣a 和b 的矩陣乘積

(matrix product)是第三個矩陣c。為了使乘法定義良好,矩陣a 的列數必須和矩陣b 的行數相等。如果矩陣a 的形狀是m x n,矩陣b 的形狀是n x p,那麼矩陣c 的形狀是mxp。我們可以通過將兩個或多個矩陣並列放置以書寫矩陣乘法,例如c = a*b; 需要注意的是,兩個矩陣的標準乘積不是指兩個矩陣中對應元素的乘積。具體地,該乘法操作定義為:

從公式來看矩陣乘法的規則定義相當奇怪, 難以理解, 矩陣的本質就是線性方程序,兩者是一 一對應關係。如果從線性方程序的角度,理解矩陣乘法就毫無難度, 可參考部落格《理解矩陣乘法》

numpy 矩陣運算**:

>>> a

matrix([[1, 2],

[2, 3],

[3, 4]])

>>> b

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

[2, 3, 4, 6]])

>>> c = a*b

>>> c

matrix([[ 5, 8, 11, 17],

[ 8, 13, 18, 28],

[11, 18, 25, 39]])

Numpy 矩陣運算

c np.array 3 2,3 b np.array 3 2,3 print b.dot c print np.dot b,c print b c 只是對於位置的資料相乘 22 22 9 4 9 將陣列重新分配成參1 參2型別的陣列,但注意的是這不是轉置,將原來的陣列轉換成一維後直接排列成新的陣列...

NumPy 矩陣的運算

使用array函式通過傳入list或tuple來建立 numpy 的array物件。import numpy as np arr1 np.array 1 2,3 列表 arr2 np.array 1 2,3 元組 arr3 np.array 1,2,3 1,2,3 列表 列表 arr4 np.arr...

Numpy矩陣運算 最全

coding utf 8 import numpy as np from numpy import m1 mat 1,2,3 4,5,6 7,8,9 m2 mat 1 2 3 m3 mat 6,2 8,5 矩陣轉置 print 轉置 print m1.t print print m1.transpo...