python實現矩陣乘法
更新時間:2022年01月14日 11:20:29 作者:咕嘟咕嘟_
這篇文章主要介紹了python實現矩陣乘法,矩陣相乘需要前面矩陣的行數與后面矩陣的列數相同方可相乘,下面來看看python代碼的具體實現吧
矩陣相乘需要前面矩陣的行數與后面矩陣的列數相同方可相乘。第一步,先將前面矩陣的每一行分別與后面矩陣的列相乘,作為結果矩陣的行列;第二步算出結果即可。
# 2 3 3 4 # 1 2 3 # 4 5 6 # 1 2 3 4 # 5 6 7 8 # 9 10 11 12 lst1, lst2 = [], [] n1,m1,n2,m2 = map(int,input().split()) for i in range(n1): ? ? nums = list(map(int,input().split())) #輸入一行數據 ? ? lst1.append(nums) for i in range(n2): ? ? nums = list(map(int,input().split())) ? ? lst2.append(nums) res = [] for i in range(n1): ? ? res.append([]) ? ? for j in range(m2): ? ? ? ? lst4 = [] ? ? ? ? lst3 = lst1[i] ? ? ? ? for k in range(n2): ? ? ? ? ? ? lst4.append(lst2[k][j]) ? ? ? ? res_num = sum(map(lambda x,y:x*y,lst3,lst4)) ? ? ? ? res[i].append(res_num) print(res) import numpy as np print('numpy:',np.dot(lst1,lst2)) #使用numpy驗證結果
2 3 3 4 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 [[38, 44, 50, 56], [83, 98, 113, 128]] numpy: [[ 38 ?44 ?50 ?56] ?[ 83 ?98 113 128]]
到此這篇關于python實現矩陣乘法的文章就介紹到這了,更多相關python矩陣乘法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
cv2.imread?和?cv2.imdecode?用法及區(qū)別
對于路徑中含有中文的圖像,直接用cv2.imread讀取會報錯,上次看到有大佬使用cv2.imdecode就可以正常讀取,有點好奇,所以今天來記錄下二者用法和區(qū)別,感興趣的朋友跟隨小編一起看看吧2023-02-02