Hai danh sách bên trong matrixA
là các hàng của ma trận. Số phần tử bên trong một hàng đại diện cho số cột
Ngoài ra, trong lập trình Python, việc lập chỉ mục bắt đầu từ 0
. Vì vậy, khi chúng tôi chỉ định matrixA[2][4]
trong chương trình, đó thực sự là
matrixC = matrixA + matrixB // where these are nested lists
0, phần tử của hàng thứ ba và cột thứ nămVì chúng ta đang sử dụng Danh sách để biểu diễn ma trận, bạn nên cẩn thận với kết quả của toán tử số học cho hai danh sách
Ví dụ, trong câu lệnh sau, kết quả của toán tử cộng không trả về danh sách phần tử bằng phép cộng phần tử của hai toán hạng, mà trả về một danh sách với các danh sách bên trong của toán hạng thứ hai được nối với các phần tử của toán hạng thứ nhất
matrixC = matrixA + matrixB // where these are nested lists
ChạyĐể tính phép cộng của hai ma trận, là danh sách các danh sách trong Python, bạn phải duyệt qua các hàng và cột, rồi tính phép cộng
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách thực hiện Phép cộng ma trận trong Python bằng Danh sách
ví dụ 1. Chương trình Python để thêm hai ma trận bằng vòng lặp For
Trong ví dụ này, chúng ta sẽ lấy hai ma trận và tính phép cộng của chúng. Chúng ta sẽ sử dụng Python For Loop để duyệt qua tất cả các phần tử của ma trận
Chương trình Python
matrixA = [ [2, 1, 3], [3, 1, 5] ]
matrixB = [ [1, 4, 2], [5, 2, 0] ]
#matrix where we shall store our result
#intialize this to 0, with size as that of matrixA or matrixB
matrixC = [[0 for i in range[len[matrixA[0]]]] for j in range[len[matrixA]]]
#for each row in the matrix
for i in range[len[matrixB]]:
#for each element in the row
for j in range[len[matrixB[0]]]:
matrixC[i][j] = matrixA[i][j] + matrixB[i][j]
print[' matrixA:', matrixA]
print['+ matrixB:', matrixB]
print['-------------------------------']
print[' matrixC:', matrixC]
Chạyđầu ra
matrixA: [[2, 1, 3], [3, 1, 5]]
+ matrixB: [[1, 4, 2], [5, 2, 0]]
-------------------------------
matrixC: [[3, 5, 5], [8, 3, 5]]
ví dụ 2. Chương trình Python để thêm hai ma trận bằng cách sử dụng tính năng hiểu danh sách
Trong ví dụ này, chúng ta sẽ lấy hai ma trận và tính phép cộng của chúng. Chúng ta sẽ sử dụng Python List Comprehension để tính toán phép cộng ở cấp độ phần tử
Chương trình Python
matrixA = [ [2, 1, 3], [3, 1, 5] ]
matrixB = [ [1, 4, 2], [5, 2, 0] ]
matrixC = [[matrixA[i][j] + matrixB[i][j] for j in range[len[matrixA[0]]]] for i in range[len[matrixA]]]
print[' matrixA:', matrixA]
print['+ matrixB:', matrixB]
print['-------------------------------']
print[' matrixC:', matrixC]
ChạyMã để thêm ma trận bằng cách sử dụng Danh sách hiểu rất ngắn gọn
đầu ra
matrixA: [[2, 1, 3], [3, 1, 5]]
+ matrixB: [[1, 4, 2], [5, 2, 0]]
-------------------------------
matrixC: [[3, 5, 5], [8, 3, 5]]
Tóm lược
Trong hướng dẫn về Ví dụ Python này, chúng ta đã học cách thực hiện Phép cộng ma trận trong Python bằng cách sử dụng vòng lặp For và khả năng hiểu Danh sách, với sự trợ giúp của các ví dụ chi tiết
Trong bài đăng này, bạn sẽ học cách viết chương trình python để cộng hai ma trận bằng cách lấy đầu vào của người dùng với giải thích và thuật toán rất đơn giản
Mục lục
Quy tắc cộng hai ma trận
Có thể cộng hai ma trận nếu số hàng và số cột của cả hai ma trận bằng nhau
GHI CHÚ. Ma trận có nghĩa là Danh sách 2D trong python
Thí dụ
matrix = [
[1,2,3],
[4,5,6],
[7,8,9]
]
Thuật toán cộng hai ma trận
1. Yêu cầu người dùng nhập hàng [m] & cột [n] của ma trận. 2. Sử dụng chức nănginput[]
và khả năng hiểu danh sách tạo ra matrix_A
vàmatrix_B
của kích thước m x n
. 3. Để lưu trữ kết quả, hãy tạo một ma trận khác [result
] của cùng mộtchiều
m x n
; . 4. Sử dụng vòng lặp for lồng nhau do # matrix addition in python
rows = int[input['ENter number of rows: ']]
cols = int[input['ENter number of column: ']]
print[] # for new line
print['Enter values for matrix A']
matrix_A = [[int[input[f"column {j+1} -> ENter {i+1} element:"]] for j in range[cols]] for i in range[rows] ]
print[] # for new line
print['Enter values for matrix B ']
matrix_B = [[int[input[f"column {j+1} -> ENter {i+1} element:"]] for j in range[cols]] for i in range[rows] ]
print[] #for new line
print['Matrix-A :']
for i in matrix_A:
print[i]
print[] #for new line
print['Matrix-B :']
for i in matrix_B:
print[i]
# resultant matrix [matrix that store answer and intially it is Zero]
result = [[0 for j in range[cols]] for i in range[rows]]
# addition
for i in range[rows]:
for j in range[cols]:
result[i][j] = matrix_A[i][j] + matrix_B[i][j]
print[] #for new line
print['Addition of Matrix-A and Matrix-B is :']
for i in result:
print[i]
0. 5. Ma trận kết quả in cuối cùng [______7_______1]Từ thuật toán trên, chúng ta đã hiểu cách triển khai chương trình python để cộng hai ma trận bằng cách lấy đầu vào từ người dùng