numpy 归一化函数
时间: 2023-11-07 07:05:34 浏览: 126
numpy中的归一化函数是`numpy.linalg.norm`。这个函数可以计算向量或矩阵的范数。在参数中,你可以指定范数的类型,默认为2范数(欧几里德范数)。
以下是一个使用`numpy.linalg.norm`函数对向量进行归一化的示例:
```python
import numpy as np
# 创建一个向量
vector = np.array([1, 2, 3, 4, 5])
# 计算向量的2范数
norm_vector = np.linalg.norm(vector)
# 归一化向量
normalized_vector = vector / norm_vector
print(normalized_vector)
```
输出结果为:
```
[0.13483997 0.26967994 0.40451992 0.53935989 0.67419987]
```
对于矩阵的归一化,可以通过指定`axis`参数来指定沿哪个轴进行归一化。例如,对于矩阵每行归一化的示例:
```python
import numpy as np
# 创建一个矩阵
matrix = np.array([[1, 2], [3, 4], [5, 6]])
# 计算每行的2范数
norm_matrix = np.linalg.norm(matrix, axis=1, keepdims=True)
# 归一化矩阵
normalized_matrix = matrix / norm_matrix
print(normalized_matrix)
```
输出结果为:
```
[[0.4472136 0.89442719]
[0.6 0.8 ]
[0.6401844 0.76822128]]
```
这样每一行的范数都变成了1。