Mỗi hàng trong ma trận có thể được ký hiệu là m1[i] và phần tử ở hàng thứ i và cột thứ j là m1[i][j]
Vì vậy, sử dụng vòng lặp for lồng nhau, chúng ta có thể dễ dàng thêm các phần tử của ma trận thứ nhất vào phần tử tương ứng của chúng trong ma trận thứ hai
Phương pháp 1. Bổ sung ma trận bằng vòng lặp lồng nhau
#Matrix I
m1 = [[1,2],
[8,1]]
#Matrix II
m2 = [[1,1],
[1,1]]
#Initialize resultant matrix with 0
res = [[0,0],
[0,0]]
for i in range[len[m1]]:
for j in range[len[m1[0]]]:
res[i][j] = m1[i][j] + m2[i][j]
print[res]
đầu ra
[[2, 3], [9, 2]]
Trong chương trình trên, chúng tôi đã sử dụng len[m1]
để tìm số hàng và len[m1[0]]
để tìm số cột trong ma trận m1
Chương trình sau minh họa cách thêm hai ma trận trong python bằng cách sử dụng cấu trúc dữ liệu danh sách. Phép cộng ma trận hoạt động bằng cách thêm các mục tương ứng vào ma trận dựa trên vị trí của chúng. Chương trình mẫu sau đây thêm hai ma trận 3x3, nhưng chương trình có thể dễ dàng sửa đổi cho bất kỳ ma trận kích thước nào. Bạn chỉ cần thay đổi dữ liệu đầu vào,
# matrixadd.py - Matrix addition in python # The following example adds two 3x3 matrices m1 = [ [9, 2, 2], [2, 4, 2], [9, 9, 9] ] m2 = [ [10,1,2], [4,2,1], [9,3,4] ] result = [] # start with outer list for i in range[len[m1]]: result.append[[]] # add the inner list for j in range[len[m1[0]]]: result[i].append[m1[i][j] + m2[i][j]] print[result]
Dưới đây là giải thích từng bước của chương trình,
- Ma trận được lưu trữ trong các biến danh sách hai chiều
- Chúng tôi tạo một danh sách trống đơn giản cho kết quả
- Sau đó chúng tôi lặp qua các giá trị ma trận. Vòng lặp bên ngoài lặp qua số lượng hàng. Vòng lặp bên trong lặp qua số lượng cột
- Đối với mỗi hàng được lặp lại, chúng tôi thêm một danh sách trống bên trong cho các giá trị trong biến kết quả
- Cuối cùng, chúng tôi tính tổng cho từng phần tử tương ứng trong ma trận và sau đó nối nó vào danh sách bên trong cho mỗi hàng của kết quả
Sau đây là đầu ra từ chương trình trên,
thêm ma trận python3. py
[[19, 3, 4], [6, 6, 3], [18, 12, 13]]
Được đăng trong Python
Đưa ra hai ma trận đầu vào của người dùng. Nhiệm vụ của chúng ta là hiển thị phép cộng hai ma trận. Trong những vấn đề này, chúng tôi sử dụng Danh sách lồng nhau toàn diện
thuật toán
Step1: input two matrix. Step 2: nested for loops only to iterate through each row and columns. Step 3: At each iterationshall add the corresponding elements from two matrices and shall store the result.
mã ví dụ
# Program to add two matrices using nested loop A=[] n=int[input["Enter N for N x N matrix : "]] #3 here #use list for storing 2D array #get the user input and store it in list [here IN : 1 to 9] print["Enter the element ::>"] for i in range[n]: row=[] #temporary list to store the row for j in range[n]: row.append[int[input[]]] #add the input to row list A.append[row] #add the row to the list print[A] # [[1, 2, 3], [4, 5, 6], [7, 8, 9]] #Display the 2D array print["Display Array In Matrix Form"] for i in range[n]: for j in range[n]: print[A[i][j], end=" "] #new line print[] B=[] n=int[input["Enter N for N x N matrix : "]] #3 here #use list for storing 2D array #get the user input and store it in list [here IN : 1 to 9] print["Enter the element ::>"] for i in range[n]: row=[] #temporary list to store the row for j in range[n]: row.append[int[input[]]] #add the input to row list B.append[row] #add the row to the list print[B] # [[1, 2, 3], [4, 5, 6], [7, 8, 9]] #Display the 2D array print["Display Array In Matrix Form"] for i in range[n]: for j in range[n]: print[B[i][j], end=" "] print[] #new line result = [[0,0,0], [0,0,0], [0,0,0]] # iterate through rows for i in range[n]: # iterate through columns for j in range[len[A[0]]]: result[i][j] = A[i][j] + B[i][j] print["Resultant Matrix is ::>"] for r in result: print["Resultant Matrix is ::>",r]
đầu ra
Enter N for N x N matrix : 3 Enter the element ::> 10 10 10 20 20 20 30 30 30 [[10, 10, 10], [20, 20, 20], [30, 30, 30]] Display Array In Matrix Form 10 10 10 20 20 20 30 30 30 Enter N for N x N matrix : 3 Enter the element ::> 100 100 100 200 200 200 300 300 300 [[100, 100, 100], [200, 200, 200], [300, 300, 300]] Display Array In Matrix Form 100 100 100 200 200 200 300 300 300 Resultant Matrix is ::> [110, 110, 110] [220, 220, 220] [330, 330, 330]