python multiply()與dot使用示例講解
首先創(chuàng)建如下的數(shù)組和矩陣,其中a,b為數(shù)組,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
下面列出數(shù)組和矩陣使用multiply()和dot以及*計算的結(jié)果,計算場景有點多,這里先給出multiply()、dot以及*之間的區(qū)別:
1 * 運(yùn)算符:當(dāng)參與計算的類型都為數(shù)組時,計算方式為:對應(yīng)位置相乘,當(dāng)其中一個類型為矩陣時,則采用矩陣乘法。
2 dot運(yùn)算符:無論參與計算的是數(shù)組還是矩陣,計算方式都為:矩陣乘法,
3 multiply()運(yùn)算符:無論參與計算的是數(shù)組還是矩陣,計算方式都為:對應(yīng)位置相乘。
數(shù)組*數(shù)組
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]])
數(shù)組dot數(shù)組
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]])
數(shù)組multiply數(shù)組
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]])
數(shù)組*矩陣
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]])
矩陣*數(shù)組
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]])
數(shù)組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數(shù)組
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]])
數(shù)組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數(shù)組
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]])
總結(jié):
1 * 運(yùn)算符:當(dāng)參與計算的類型都為數(shù)組時,計算方式為:對應(yīng)位置相乘,當(dāng)其中一個類型為矩陣時,則采用矩陣乘法。
2 dot運(yùn)算符:無論參與計算的是數(shù)組還是矩陣,計算方式都為:矩陣乘法,
3 multiply()運(yùn)算符:無論參與計算的是數(shù)組還是矩陣,計算方式都為:對應(yīng)位置相乘。
數(shù)組使用*運(yùn)算符時,其計算方式為對應(yīng)的位置相乘,當(dāng)想使用數(shù)組進(jìn)行矩陣乘法時,可以使用dot實現(xiàn),而矩陣使用*運(yùn)算符時,其計算方式矩陣相乘,當(dāng)想使用矩陣進(jìn)行對應(yīng)位置相乘時,可以使用multiply實現(xiàn)??梢?dot運(yùn)算符負(fù)責(zé)數(shù)組/矩陣的矩陣乘法,multiply負(fù)責(zé)矩陣/數(shù)組的對應(yīng)位置相乘。
到此這篇關(guān)于python multiply()與dot使用示例講解的文章就介紹到這了,更多相關(guān)python multiply()與dot內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python+ChatGPT實戰(zhàn)之進(jìn)行游戲運(yùn)營數(shù)據(jù)分析
最近ChatGPT蠻火的,今天試著讓ta用Python語言寫了一篇數(shù)據(jù)分析實戰(zhàn)案例。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-02-02python調(diào)用golang中函數(shù)方法
由于simhash方法有多種實現(xiàn)方式,現(xiàn)python中simhash方法與golang中的不一樣,需要兩者代碼生成結(jié)果保持一致,故采用python中的代碼調(diào)用golang編譯的so文件來實現(xiàn),需要的朋友可以參考下2024-02-02Python循環(huán)語句中else的用法總結(jié)
這篇文章給大家整理了關(guān)于Python中循環(huán)語句中else的用法,包括常規(guī)的 if else 用法、if else 快捷用法、與 for 關(guān)鍵字一起用、與 while 關(guān)鍵字一起用以及與 try except 一起用的用法總結(jié),有需要的朋友們可以參考借鑒。2016-09-09Opencv圖像添加椒鹽噪聲、高斯濾波去除噪聲原理以及手寫Python代碼實現(xiàn)方法
椒鹽噪聲的特征非常明顯,為圖像上有黑色和白色的點,下面這篇文章主要給大家介紹了關(guān)于Opencv圖像添加椒鹽噪聲、高斯濾波去除噪聲原理以及手寫Python代碼實現(xiàn)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09python實現(xiàn)遠(yuǎn)程運(yùn)行bat文件
這篇文章主要介紹了python實現(xiàn)遠(yuǎn)程運(yùn)行bat文件方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06Python不使用int()函數(shù)把字符串轉(zhuǎn)換為數(shù)字的方法
今天小編就為大家分享一篇Python不使用int()函數(shù)把字符串轉(zhuǎn)換為數(shù)字的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07pycharm訪問mysql數(shù)據(jù)庫的方法步驟
這篇文章主要介紹了pycharm訪問mysql數(shù)據(jù)庫的方法步驟。文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06