Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để Nhân hai ma trận bằng Python?


Chỉ có thể nhân hai ma trận khi số cột trong ma trận thứ nhất bằng số hàng trong ma trận thứ hai.

Phép nhân có thể được thực hiện bằng cách sử dụng các vòng lặp lồng nhau. Chương trình sau có hai ma trận x và y, mỗi ma trận có 3 hàng và 3 cột. Ma trận z kết quả cũng sẽ có cấu trúc 3X3. Phần tử của mỗi hàng của ma trận đầu tiên được nhân với phần tử tương ứng trong cột của ma trận thứ hai.

Ví dụ

X = [[1,2,3],  
       [4,5,6],  
       [7,8,9]]  
 
Y = [[10,11,12],  
      [13,14,15],  
      [16,17,18]]  
 
result = [[0,0,0],  
               [0,0,0],  
              [0,0,0]]  
 
# iterate through rows of X  
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)  

Đầu ra

The result:
[84, 90, 96]
[201, 216, 231]
[318, 342, 366]