首頁 >後端開發 >Python教學 >使用多維數組編寫的Python程序,用於將兩個矩陣相加

使用多維數組編寫的Python程序,用於將兩個矩陣相加

王林
王林轉載
2023-09-04 09:37:061842瀏覽

使用多維數組編寫的Python程序,用於將兩個矩陣相加

矩陣是一個由許多數字按行和列排列的二維陣列。兩個矩陣的相加是將兩個矩陣的對應元素相加,並將和放置在結果矩陣的對應位置。只有當兩個矩陣的行數和列數相等時,這才可能。

在 Python 中,多維數組是使用列表或 NumPy 陣列建立的。列表資料結構可以接受列表作為元素,這樣我們就可以輕鬆建立矩陣。此外,Numpy 模組提供了多種處理多維數組的方法。

輸入輸出場景

兩個矩陣的加法

[a11, a12, a13]	   [b11, b12, b13]		[a11+b11, a12+b12, a13+b13]
[a21, a22, a23]  + [b21, b22, b23]	=	[a21+b21, a22+b22, a23+b23]
[a31, a32, a33]	   [b31, b32, b33]		[a31+b31, a32+b32, a33+b33]

在本文中,我們將了解如何在 python 中使用多維數組將兩個矩陣相加。

使用for迴圈

在這裡,我們將使用嵌套的for迴圈來遍歷給定輸入矩陣的每一行和每一列。在每次迭代中,我們將新增兩個輸入矩陣的對應元素,並將它們儲存在結果矩陣中。

範例

# Defining the matrix using multidimensional arrays
matrix_a = [[1,2,3],
            [4 ,5,6],
            [7 ,8,9]]
 
matrix_b = [[1,2,3],
            [4 ,5,6],
            [7 ,8,9]]

#function for displaying matrix
def display(matrix):
   for row in matrix:
      print(row)
   print()

# Display two input matrices
print('The first matrix is defined as:') 
display(matrix_a)
print('The second matrix is defined as:')
display(matrix_b)

# Initializing Matrix with all 0s
result = [[0, 0, 0],[0, 0, 0],[0, 0, 0]]

# Add two matrices 
for i in range(len(matrix_a)): 

   # iterate through rows 
   for j in range(len(matrix_a[0])):

      # iterate through columns
      result[i][j] = matrix_a[i][j] + matrix_b[i][j]

print('The addition of two matrices is:')
display(result)

輸出

The first matrix is defined as:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]

The second matrix is defined as:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]

The addition of two matrices is:
[2, 4, 6]
[8, 10, 12]
[14, 16, 18]

將兩個輸入矩陣對應元素的和儲存在我們最初用全零建立的結果矩陣中。

使用列表理解

列表理解提供了最短的語法來建立列表,而無需在 for 循環之前初始化空列表來逐一附加價值。

範例

此範例的工作方式與前面的範例類似,但不同之處在於我們使用清單理解而不是建立全零的結果矩陣。

# Defining the matrix using multidimensional arrays
matrix_a = [[1,2,5],
            [1,0,6],
            [9,8,0]]
 
matrix_b = [[0,3,5],
            [4,6,9],
            [1,8,0]]

#function for displaying matrix
def display(matrix):
   for row in matrix:
      print(row)
   print()

# Display two input matrices
print('The first matrix is defined as:') 
display(matrix_a)
print('The second matrix is defined as:')
display(matrix_b)

# Add two matrices 
result = [[matrix_a[i][j] + matrix_b[i][j]  for j in range(len(matrix_a[0]))] for i in range(len(matrix_a))]    

print('The addition of two matrices is:')
display(result)

輸出

The first matrix is defined as:
[1, 2, 5]
[1, 0, 6]
[9, 8, 0]

The second matrix is defined as:
[0, 3, 5]
[4, 6, 9]
[1, 8, 0]

The addition of two matrices is:
[1, 5, 10]
[5, 6, 15]
[10, 16, 0]

使用NumPy陣列

Python 中的 NumPy 模組有許多內建函數可以處理多維數組。透過使用這些數組,我們可以輕鬆地將兩個矩陣相加。

範例

在此範例中,我們將使用 numpy.array() 方法建立兩個多維數組。然後在兩個陣列之間套用加法運算子。

import numpy as np

# Defining the matrix using numpy array
matrix_a = np.array([[1,2,5], [1,0,6], [9,8,0]])
matrix_b = np.array([[0,3,5], [4,6,9], [1,8,0]])

# Display two input matrices
print('The first matrix is defined as:') 
print(matrix_a)

print('The second matrix is defined as:')
print(matrix_b)

# Add two matrices
result = matrix_a + matrix_b

print('The addition of two matrices is:')
print(result)

輸出

The first matrix is defined as:
[[1 2 5]
 [1 0 6]
 [9 8 0]]
The second matrix is defined as:
[[0 3 5]
 [4 6 9]
 [1 8 0]]
The addition of two matrices is:
[[ 1  5 10]
 [ 5  6 15]
 [10 16  0]]

我們只要在numpy陣列matrix_a和matrix_b之間套用加法運算子( )來新增多維數組。

以上是使用多維數組編寫的Python程序,用於將兩個矩陣相加的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除