tft每日頭條

 > 圖文

 > python中矩陣與矩陣相乘

python中矩陣與矩陣相乘

圖文 更新时间:2025-04-21 22:06:49

python中矩陣與矩陣相乘?在Python中,我們可以将矩陣用嵌套列表的方法來實現,也就是列表嵌套列表,今天小編就來說說關于python中矩陣與矩陣相乘?下面更多詳細答案一起來看看吧!

python中矩陣與矩陣相乘(用Python程序将兩個矩陣相乘)1

python中矩陣與矩陣相乘

用Python程序将兩個矩陣相乘

在Python中,我們可以将矩陣用嵌套列表的方法來實現,也就是列表嵌套列表。

我們可以将每個元素看作矩陣的一行。

例如,X = [[1、2],[4、5],[3、6]]表示3x2矩陣。

第一行可以選擇為X [0]。 并且,可以将第一行第一列中的元素選擇為X [0] [0]。

僅當X中的列數等于行Y的數目時,才定義兩個矩陣X和Y的乘法。

如果X是一個n 乘以 m矩陣,而Y是一個m 乘以 l矩陣,則XY被定義并具有n 乘以 l的維數(但未定義YX)。

下面使用兩個實例,用Python實現矩陣:,使用嵌套循環的矩陣乘法:

01

# 3x3 的矩陣 X = [[12,7,3], [4 ,5,6], [7 ,8,9]] # 3x4 矩陣 Y = [[5,8,1,2], [6,7,3,0], [4,5,9,1]] # result is 3x4矩陣 result = [[0,0,0,0], [0,0,0,0], [0,0,0,0]] for i in range(len(X)): for j in range(len(Y[0])): for k in range(len(Y)): result[i][j] = X[i][k] * Y[k][j] for r in result: print(r)

輸出:

[114, 160, 60, 27] [74, 97, 73, 14] [119, 157, 112, 23]

在上面的計算程序中,我們使用了嵌套的for循環來遍曆每一行和每一列。 我們得到乘積之和。

不過,随着我們增加矩陣的數量,計算結果和作業量會很大。

對于較大的矩陣運算,我們建議使用numpy(python的科學計算三方庫),它比上面的代碼速度會快很多倍。


02:使用嵌套列表的方法實現矩陣乘法,如下:

# 3x3 矩陣 X = [[12,7,3], [4 ,5,6], [7 ,8,9]] # 3x4 矩陣 Y = [[5,8,1,2], [6,7,3,0], [4,5,9,1]] # result is 3x4矩陣 result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X] for r in result: print(r)

輸出:

[114, 160, 60, 27] [74, 97, 73, 14] [119, 157, 112, 23]

我們可以看到上面兩種方法,輸出的結果是相等的!


那麼,我們可以從這裡面學到什麼呢?

是這樣的:你可以試着去改改裡面的參數,運行之後,看能輸出什麼結果。

比如,例子給出的是3乘以4的矩陣,那麼我們嘗試着去改成4乘以5的矩陣,

每次學到了一個小技能,就要想:

咦?這個方法還能用在哪裡呢?舉一反三,自己的進步是很快的。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved