- 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 变换的核心,其中矩阵加法有助于进行平移等变换。