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...