Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Nhân hai ma trận một dòng với NumPy trong Python


Nhân ma trận: cột ma trận đầu = hàng ma trận thứ hai. Kết quả: hàng của đầu, cột của sau. Dùng vòng lặp lồng cho ma trận nhỏ, NumPy cho ma trận lớn.

Dùng vòng lặp for

Ma trận A 2x3, B 3x2 → kết quả 2x2. Ba vòng lặp lồng.

Ví dụ

#matrix A with 2 rows 
A = ([5,10,15],[20,25,30]) 
#matrix B with 2 columns 
B = ([4,8],[12,10],[14,16]) 
result = [[0 for x in range(2)] for y in range(2)] 
for i in range(len(A)): 
    for j in range(len(B[0])): 
        for k in range(len(B)): 
            result[i][j] += A[i][k] * B[k][j] 
for r in result: 
    print(r)

Đầu ra

[350, 380] [800, 890]

Dùng NumPy

NumPy có hàm dot() nhân ma trận một dòng.

Ví dụ

import numpy as np 
matrix_A = ([5,10,15],[20,25,30]) 
matrix_B = ([4,8],[12,10],[14,16]) 
result = np.dot(matrix_A,matrix_B) 
print(result)

Đầu ra

[[350 380] [800 890]]