python multiply()與dot使用示例講解
首先創(chuàng)建如下的數組和矩陣,其中a,b為數組,A,B為矩陣
import numpy as np a = np.arange(1,5).reshape(2,2) type(a) Out[3]: numpy.ndarray b = np.arange(0,4).reshape(2,2) type(b) Out[5]: numpy.ndarray A = np.mat(a) type(A) Out[7]: numpy.matrix B = np.mat(b) type(B) Out[9]: numpy.matrix
下面列出數組和矩陣使用multiply()和dot以及*計算的結果,計算場景有點多,這里先給出multiply()、dot以及*之間的區(qū)別:
1 * 運算符:當參與計算的類型都為數組時,計算方式為:對應位置相乘,當其中一個類型為矩陣時,則采用矩陣乘法。
2 dot運算符:無論參與計算的是數組還是矩陣,計算方式都為:矩陣乘法,
3 multiply()運算符:無論參與計算的是數組還是矩陣,計算方式都為:對應位置相乘。
數組*數組
a Out[11]: array([[1, 2], [3, 4]]) b Out[12]: array([[0, 1], [2, 3]]) a * b Out[13]: array([[ 0, 2], [ 6, 12]])
矩陣*矩陣
A Out[14]: matrix([[1, 2], [3, 4]]) B Out[15]: matrix([[0, 1], [2, 3]]) A*B Out[16]: matrix([[ 4, 7], [ 8, 15]])
數組dot數組
a Out[18]: array([[1, 2], [3, 4]]) b Out[19]: array([[0, 1], [2, 3]]) a.dot(b) Out[20]: array([[ 4, 7], [ 8, 15]])
矩陣dot矩陣
A Out[14]: matrix([[1, 2], [3, 4]]) B Out[15]: matrix([[0, 1], [2, 3]]) Out[21]: matrix([[ 4, 7], [ 8, 15]])
數組multiply數組
a Out[22]: array([[1, 2], [3, 4]]) b Out[23]: array([[0, 1], [2, 3]]) np.multiply(a,b) Out[24]: array([[ 0, 2], [ 6, 12]])
矩陣multiply矩陣
A Out[25]: matrix([[1, 2], [3, 4]]) B Out[26]: matrix([[0, 1], [2, 3]]) np.multiply(A,B) Out[27]: matrix([[ 0, 2], [ 6, 12]])
數組*矩陣
a Out[29]: array([[1, 2], [3, 4]]) B Out[30]: matrix([[0, 1], [2, 3]]) a * B Out[31]: matrix([[ 4, 7], [ 8, 15]])
矩陣*數組
a Out[29]: array([[1, 2], [3, 4]]) B Out[30]: matrix([[0, 1], [2, 3]]) a * B Out[31]: matrix([[ 4, 7], [ 8, 15]])
數組dot矩陣
a Out[35]: array([[1, 2], [3, 4]]) B Out[36]: matrix([[0, 1], [2, 3]]) a.dot(B) Out[37]: matrix([[ 4, 7], [ 8, 15]])
矩陣dot數組
A Out[38]: matrix([[1, 2], [3, 4]]) b Out[39]: array([[0, 1], [2, 3]]) A.dot(b) Out[40]: matrix([[ 4, 7], [ 8, 15]])
數組multiply矩陣
a Out[41]: array([[1, 2], [3, 4]]) B Out[42]: matrix([[0, 1], [2, 3]]) np.multiply(a,B) Out[43]: matrix([[ 0, 2], [ 6, 12]])
矩陣multiply數組
A Out[44]: matrix([[1, 2], [3, 4]]) b Out[45]: array([[0, 1], [2, 3]]) np.multiply(A,b) Out[46]: matrix([[ 0, 2], [ 6, 12]])
總結:
1 * 運算符:當參與計算的類型都為數組時,計算方式為:對應位置相乘,當其中一個類型為矩陣時,則采用矩陣乘法。
2 dot運算符:無論參與計算的是數組還是矩陣,計算方式都為:矩陣乘法,
3 multiply()運算符:無論參與計算的是數組還是矩陣,計算方式都為:對應位置相乘。
數組使用*運算符時,其計算方式為對應的位置相乘,當想使用數組進行矩陣乘法時,可以使用dot實現(xiàn),而矩陣使用*運算符時,其計算方式矩陣相乘,當想使用矩陣進行對應位置相乘時,可以使用multiply實現(xiàn)。可見 dot運算符負責數組/矩陣的矩陣乘法,multiply負責矩陣/數組的對應位置相乘。
到此這篇關于python multiply()與dot使用示例講解的文章就介紹到這了,更多相關python multiply()與dot內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python+ChatGPT實戰(zhàn)之進行游戲運營數據分析
最近ChatGPT蠻火的,今天試著讓ta用Python語言寫了一篇數據分析實戰(zhàn)案例。文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2023-02-02Opencv圖像添加椒鹽噪聲、高斯濾波去除噪聲原理以及手寫Python代碼實現(xiàn)方法
椒鹽噪聲的特征非常明顯,為圖像上有黑色和白色的點,下面這篇文章主要給大家介紹了關于Opencv圖像添加椒鹽噪聲、高斯濾波去除噪聲原理以及手寫Python代碼實現(xiàn)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-09-09