如何得到 NumPy 中矢量的大小?
线性代数的基本特征是向量,向量是既有方向又有大小的对象。在 Python 中,NumPy 数组可以用来描述一个向量。
矢量大小的获取主要有两种方式:
-
By defining an explicit function which computes the magnitude of a given vector based on the below mathematical formula:
```py if V is vector such that, V = (a, b, c) then ||V|| = ?(aa + bb + c*c)
```
下面是一些按照上述方法计算矢量大小的程序:
```py
program to compute magnitude of a vector
importing required libraries
import numpy import math
function defination to compute magnitude o f the vector
def magnitude(vector): return math.sqrt(sum(pow(element, 2) for element in vector))
displaying the original vector
v = numpy.array([0, 1, 2, 3, 4]) print('Vector:', v)
computing and displaying the magnitude of the vector
print('Magnitude of the Vector:', magnitude(v)) ```
输出:
```py Vector: [0 1 2 3 4] Magnitude of the Vector: 5.477225575051661
```
下面是采用相同方法的另一个示例:
```py
program to compute magnitude of a vector
importing required libraries
import numpy import math
function defination to compute magnitude o f the vector
def magnitude(vector): return math.sqrt(sum(pow(element, 2) for element in vector))
computing and displaying the magnitude of the vector
print('Magnitude of the Vector:', magnitude(numpy.array([1, 2, 3]))) ```
输出:
```py Magnitude of the Vector: 3.7416573867739413
```
-
By using the
norm()method inlinalgmodule ofNumPylibrary. The Linear Algebra module ofNumPyoffers various methods to apply linear algebra on anyNumPyarray. Below are some programs which usenumpy.linalg.norm()to compute the magnitude of a vector:```py
program to compute magnitude of a vector
importing required libraries
import numpy
displaying the original vector
v = numpy.array([1, 2, 3]) print('Vector:', v)
computing and displaying the magnitude of
the vector using norm() method
print('Magnitude of the Vector:', numpy.linalg.norm(v)) ```
输出:
```py Vector: [1 2 3] Magnitude of the Vector: 3.7416573867739413
```
一个额外的参数
ord可以用来计算向量的第 n 阶norm()。```py
program to compute the nth order of the
magnitude of a vector
importing required libraries
import numpy
displaying the original vector
v = numpy.array([0, 1, 2, 3, 4]) print('Vector:', v)
computing and displaying the magnitude of the vector
print('Magnitude of the Vector:', numpy.linalg.norm(v))
Computing the nth order of the magnitude of vector
print('ord is 0: ', numpy.linalg.norm(v, ord = 0)) print('ord is 1: ', numpy.linalg.norm(v, ord = 1)) print('ord is 2: ', numpy.linalg.norm(v, ord = 2)) print('ord is 3: ', numpy.linalg.norm(v, ord = 3)) print('ord is 4: ', numpy.linalg.norm(v, ord = 4)) ```
输出:
```py Vector: [0 1 2 3 4] Magnitude of the Vector: 5.477225575051661 ord is 0: 4.0 ord is 1: 10.0 ord is 2: 5.477225575051661 ord is 3: 4.641588833612778 ord is 4: 4.337613136533361
```
