Trong bài viết này, chúng ta sẽ tìm hiểu về giải pháp cho câu hỏi được đưa ra bên dưới.
Tuyên bố sự cố - Chúng ta được cho hai ma trận, chúng ta cần nhân chúng và in ra kết quả.
Để hai ma trận được nhân các cột của ma trận đầu tiên phải giống với các hàng của ma trận thứ hai
Mỗi khi điều kiện này được đánh giá là tính toán thực sự được thực hiện
Bây giờ chúng ta hãy quan sát khái niệm trong việc triển khai bên dưới−
Phương pháp 1 - Phương pháp bạo lực
Ví dụ
A = [[1, 2, 3], [4, 5, 6], [7, 8, 9] ] B = [[5, 3, 3], [6, 5, 4], [0, 2, 0] ] result= [[0, 0, 0], [0, 0, 0], [0, 0, 0] ] # iterating by row for i in range(len(A)): # iterating by column for j in range(len(B[0])): # iterating by rows for k in range(len(B)): result[i][j] += A[i][k] * B[k][j] for ele in result: print(ele)
Đầu ra
[17, 19, 11] [50, 49, 32] [83, 79, 53]
Phương pháp 2 - Sử dụng hàm zip
Ví dụ
A = [[1, 2, 3], [4, 5, 6], [7, 8, 9] ] B = [[5, 3, 3], [6, 5, 4], [0, 2, 0] ] # using built-in zip function result = [[sum(a * b for a, b in zip(A_row, B_col)) for B_col in zip(*B)] for A_row in A] for ele in result: print(ele)
Đầu ra
[17, 19, 11] [50, 49, 32] [83, 79, 53]
Kết luận
Trong bài viết này, chúng ta đã học cách nhân hai ma trận.