矩陣是一個由許多數字按行和列排列的二維陣列。兩個矩陣的相加是將兩個矩陣的對應元素相加,並將和放置在結果矩陣的對應位置。只有當兩個矩陣的行數和列數相等時,這才可能。
在 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迴圈來遍歷給定輸入矩陣的每一行和每一列。在每次迭代中,我們將新增兩個輸入矩陣的對應元素,並將它們儲存在結果矩陣中。
# 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]
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中文網其他相關文章!