Bổ sung ma trận trong Python bằng cách sử dụng danh sách

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]

Chủ Đề