
- NumPy 教程
- NumPy - 首頁
- NumPy - 簡介
- NumPy - 環境配置
- NumPy 陣列
- NumPy - Ndarray 物件
- NumPy - 資料型別
- NumPy 陣列的建立和操作
- NumPy - 陣列建立函式
- NumPy - 陣列操作
- NumPy - 從現有資料建立陣列
- NumPy - 從數值範圍建立陣列
- NumPy - 陣列迭代
- NumPy - 陣列變形
- NumPy - 陣列連線
- NumPy - 陣列堆疊
- NumPy - 陣列分割
- NumPy - 陣列扁平化
- NumPy - 陣列轉置
- NumPy 索引和切片
- NumPy - 索引與切片
- NumPy - 高階索引
- NumPy 陣列屬性和運算
- NumPy - 陣列屬性
- NumPy - 陣列形狀
- NumPy - 陣列大小
- NumPy - 陣列步長
- NumPy - 陣列元素大小
- NumPy - 廣播機制
- NumPy - 算術運算
- NumPy - 陣列加法
- NumPy - 陣列減法
- NumPy - 陣列乘法
- NumPy - 陣列除法
- NumPy 高階陣列運算
- NumPy - 交換陣列軸
- NumPy - 位元組交換
- NumPy - 複製與檢視
- NumPy - 元素級陣列比較
- NumPy - 陣列過濾
- NumPy - 陣列連線
- NumPy - 排序、搜尋和計數函式
- NumPy - 陣列搜尋
- NumPy - 陣列的並集
- NumPy - 查詢唯一行
- NumPy - 建立日期時間陣列
- NumPy - 二元運算子
- NumPy - 字串函式
- NumPy - 數學函式
- NumPy - 統計函式
- NumPy - 矩陣庫
- NumPy - 線性代數
- NumPy - Matplotlib
- NumPy - 使用 Matplotlib 繪製直方圖
- NumPy - NumPy 的 I/O 操作
- NumPy 排序和高階操作
- NumPy - 陣列排序
- NumPy - 沿軸排序
- NumPy - 使用花式索引排序
- NumPy - 結構化陣列
- NumPy - 建立結構化陣列
- NumPy - 操作結構化陣列
- NumPy - 欄位訪問
- NumPy - 記錄陣列
- Numpy - 載入陣列
- Numpy - 儲存陣列
- NumPy - 向陣列追加值
- NumPy - 交換陣列列
- NumPy - 向陣列插入軸
- NumPy 處理缺失資料
- NumPy - 處理缺失資料
- NumPy - 識別缺失值
- NumPy - 刪除缺失資料
- NumPy - 缺失資料插補
- NumPy 效能最佳化
- NumPy - 使用陣列進行效能最佳化
- NumPy - 使用陣列進行向量化
- NumPy - 陣列的記憶體佈局
- Numpy 線性代數
- NumPy - 線性代數
- NumPy - 矩陣庫
- NumPy - 矩陣加法
- NumPy - 矩陣減法
- NumPy - 矩陣乘法
- NumPy - 元素級矩陣運算
- NumPy - 點積
- NumPy - 矩陣求逆
- NumPy - 行列式計算
- NumPy - 特徵值
- NumPy - 特徵向量
- NumPy - 奇異值分解
- NumPy - 解線性方程組
- NumPy - 矩陣範數
- NumPy 元素級矩陣運算
- NumPy - 求和
- NumPy - 平均值
- NumPy - 中位數
- NumPy - 最小值
- NumPy - 最大值
- NumPy 集合運算
- NumPy - 唯一元素
- NumPy - 交集
- NumPy - 並集
- NumPy - 差集
- NumPy 資源
- NumPy 編譯器
- NumPy - 快速指南
- NumPy - 資源
- NumPy - 討論
NumPy - 矩陣加法
什麼是矩陣加法?
矩陣加法是指將兩個相同大小的矩陣相加的操作。在矩陣加法中,一個矩陣中的每個元素都與其在另一個矩陣中對應的元素相加。
要進行矩陣加法,兩個矩陣必須具有相同的維度,即相同的行數和列數。
如果您有兩個相同大小的矩陣,例如A和B,則它們的和C定義為
C = A + B
其中,
Cij = Aij + Bij
換句話說,矩陣C中第ith行和第jth列的元素是矩陣A和B中對應元素的和。
矩陣加法的例子
考慮以下兩個矩陣
A = [[1, 2], [3, 4]] B = [[5, 6], [7, 8]]
和C = A + B將計算為
C = [[1+5, 2+6], [3+7, 4+8]] = [[6, 8], [10, 12]]
因此,將矩陣A和B相加的結果為矩陣C
C = [[6, 8], [10, 12]]
NumPy 中的矩陣加法
在 NumPy 中,矩陣加法可以使用+運算子或numpy.add()函式完成。NumPy 陣列提供按元素執行矩陣運算(包括加法)的能力,這對於執行快速的數學計算非常有用。
執行矩陣加法時,需要注意以下幾點:
- 矩陣維度:要使矩陣加法有效,矩陣必須具有相同的維度(相同的行數和列數)。
- 按元素運算:NumPy 自動處理按元素運算,使用+運算子或numpy.add()函式新增矩陣非常容易。
- 靈活的陣列:NumPy 陣列很靈活,只要維度相容,就可以處理不同大小的矩陣。
在 NumPy 中建立矩陣
在執行矩陣加法之前,讓我們首先在 NumPy 中建立矩陣。NumPy 中的矩陣本質上是二維陣列,我們可以使用np.array()函式建立它們,如下所示:
import numpy as np # Creating two 2x2 matrices A = np.array([[1, 2], [3, 4]]) B = np.array([[5, 6], [7, 8]]) # Print the matrices print("Matrix A:") print(A) print("\nMatrix B:") print(B)
獲得的輸出如下:
Matrix A: [[1 2] [3 4]] Matrix B: [[5 6] [7 8]]
使用+運算子進行矩陣加法
在 NumPy 中新增兩個矩陣最簡單的方法是使用+運算子。此運算子將自動執行兩個矩陣的按元素加法。
例子
在下面的示例中,我們使用“+”運算子新增兩個矩陣“A”和“B”:
import numpy as np # Creating two 2x2 matrices A = np.array([[1, 2], [3, 4]]) B = np.array([[5, 6], [7, 8]]) # Adding two matrices using the + operator C = A + B # Print the result print("Matrix C (A + B):") print(C)
獲得的輸出如下:
Matrix C (A + B): [[ 6 8] [10 12]]
使用numpy.add()函式
或者,您可以使用numpy.add()函式執行矩陣加法,其工作方式與+運算子相同。此函式將兩個矩陣(或陣列)作為輸入,並返回它們的和。
例子
在此示例中,我們使用“numpy.add()”函式新增兩個矩陣“A”和“B”:
import numpy as np # Creating two 2x2 matrices A = np.array([[1, 2], [3, 4]]) B = np.array([[5, 6], [7, 8]]) # Adding two matrices using numpy.add() function C = np.add(A, B) # Print the result print("Matrix C (A + B using numpy.add()):") print(C)
我們獲得的輸出如下:
Matrix C (A + B using numpy.add()): [[ 6 8] [10 12]]
矩陣加法中的廣播機制
雖然矩陣加法需要相同形狀的矩陣,但 NumPy 具有稱為廣播機制的強大功能,允許對不同形狀的陣列進行按元素運算。
廣播機制會自動調整陣列的形狀,以便在它們之間進行運算。但是,對於矩陣加法而言,兩個矩陣必須具有相同的形狀。
例子
為了讓您瞭解廣播機制的工作原理(儘管它不直接適用於矩陣加法),以下是如何將標量新增到矩陣中的示例:
import numpy as np # Create a 2x2 matrix A = np.array([[1, 2], [3, 4]]) # Add a scalar to the matrix using broadcasting B = A + 10 # Print the result print("Matrix A + 10:") print(B)
產生的結果如下:
Matrix A + 10: [[11 12] [13 14]]
矩陣加法中的錯誤處理
如果您嘗試新增形狀不同的兩個矩陣(即維度不同),NumPy 將引發錯誤。執行矩陣加法時,這是一個需要注意的重要點。
例子
以下是在 NumPy 中執行矩陣加法時維度不匹配的示例:
import numpy as np # Create two matrices with different shapes A = np.array([[1, 2], [3, 4]]) B = np.array([[5, 6, 7]]) C = A + B print(C)
執行上述程式碼後,我們將獲得以下輸出:
Traceback (most recent call last): File "/home/cg/root/6734345c5507a/main.py", line 6, in <module> C = A + B ValueError: operands could not be broadcast together with shapes (2,2) (1,3)
矩陣加法的應用
- 影像處理:矩陣將影像表示為畫素值。矩陣加法用於透過新增亮度或調整畫素值來操作影像。
- 資料分析:在資料科學中,矩陣表示資料集。像加法這樣的矩陣運算有助於組合資料集或修改它們。
- 線性系統:矩陣加法用於透過新增表示不同係數的矩陣來求解線性方程組。
- 計算機圖形學:矩陣運算是 3D 變換的核心,其中矩陣加法有助於進行平移等變換。