Python中np.linalg.norm()用法实例总结
在Python中,我们可以使用NumPy库中的np.linalg.norm()
函数来计算向量或矩阵的范数。本攻略将详细讲解np.linalg.norm()
函数的用法,并提供两个示例。
np.linalg.norm()
函数的基本用法
np.linalg.norm()
函数可以接受三个参数:x
、ord和
axis。其中,
x表示要计算范数的向量或矩阵,
ord表示范数的类型,
axis`表示计算范数的轴。
下面是一个示例:
import numpy as np
# 创建一个二维数组
arr = np.array([[1, 2], [3, 4]])
# 计算二维数组的Frobenius范数
norm = np.linalg.norm(arr)
# 打印结果
print(norm)
在上面的示例中,我们首先创建了二维数组。然后我们使用np.linalg.norm()
函数计算了这个二维数组的Frobenius范数,并将结果存储在`norm变量中。最后,我们打印出了结果。
ord
参数的用法
ord
参数用于指定计算范数的类型。ord
可以取以下值:
None
:默认值,表示计算Frobenius范数。inf
:表示计算向量或矩阵的最大值范数。-inf
:表示计算向量或矩阵的最小值范数。0
:表示计算向量或矩阵的零范数。1
:表示计算向量或矩阵的一范数。-1
:表示计算向量或矩阵的负一范数。2
:表示计算向量或矩阵的二范数。-2
:表示计算向量或矩阵的负二范数。
下面是一个示例:
import numpy as np
# 创建一个一维数组
arr = np.array([1, 2, 3, 4, 5])
# 计算一维数组的一范数和二范数
norm1 = np.linalg.norm(arr, ord=1)
norm2 = np.linalg.norm(arr, ord=2)
# 打印结果
print(norm1)
print(norm2)
在上面的示例中,我们首先创建了一个一维数组。然后我们使用np.linalg.norm()
函数分别计算了这个一维数组的一范数和二范数,并将结果存储在norm1
和norm2
变量中。最后,我们打印出了结果。
axis
参数的用法
axis
参数用于指定计算范数的轴。当x
为二维数组时,axis
可以取以下值:
None
:默认值,表示计算Frobenius范数。0
:表示计算每列的范数。- `1:表示计算每行的范数。
下面是一个示例:
import numpy as np
# 创建一个二维数组
arr = np.array([[1, 2], [3, 4], [5, 6]])
# 计算每列的二范数
norm = np.linalg.norm(arr, axis=0)
# 打印结果
print(norm)
在上面的示例中,我们首先创建了一个二维数组。然后我们使用np.linalg.norm()
函数计算了这个二维数组每列的二范数,并将结果存储在norm
变量中。最后,我们打印出了结果。
示例一:计算向量的二范数
下面是一个计算向量的二范数的示例:
import numpy as np
# 创建一个一维数组
arr = np.array([1, 2, 3, 4, 5])
# 计算一维数组的二范数
norm = np.linalg.norm(arr, ord=2)
# 打印结果
print(norm)
在上面的示例中,我们首先创建了一个一维数组。然后我们使用np.linalg.norm()
函数计算了这个一维数组的二范数,并将结果存储在norm
变量中。最后,我们打印出了结果。
示例二:计算矩阵每行的一范数
下面是一个计算矩阵每行的一范数的示例:
import numpy as np
# 创建一个二维数组
= np.array([[1, 2], [3, 4], [5, 6]])
# 计算每行的一范数
norm = np.linalg.norm(arr, ord=1, axis=1)
# 打印结果
print(norm)
在上面的示例中,我们首先创建了一个二维数组。然后我们使用np.linalg.norm()
函数计算了这个二维数组每行的一范数,并将结果存储在norm
变量中。最后,我们打印出了结果。