如何在NumPy中获得一个向量的大小

如何在NumPy中获得一个向量的大小

线性代数的基本特征是向量,这些是既有方向又有大小的对象。在Python中,NumPy数组可以用来描述一个矢量。

主要有两种获得矢量大小的方法:

  • 通过定义一个显式函数,根据以下数学公式计算一个给定向量的大小
if V is vector such that, V = (a, b, c)
then ||V|| = ?(a*a + b*b + c*c)

下面是一些按照上述方法计算向量大小的程序。

# program to compute magnitude of a vector
 
# importing required libraries
import numpy
import math
 
# function definition 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))

输出:

Vector: [0 1 2 3 4]
Magnitude of the Vector: 5.477225575051661

下面是另一个采用相同方法的例子。

# program to compute magnitude of a vector
 
# importing required libraries
import numpy
import math
 
# function definition 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])))

输出:

Magnitude of the Vector: 3.7416573867739413
  • 通过使用NumPy库的linalg模块中的norm()方法。NumPy的线性代数模块提供了各种方法来对任何NumPy数组应用线性代数。下面是一些使用numpy.linalg.norm()来计算向量大小的程序。
# 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))

输出:

Vector: [1 2 3]
Magnitude of the Vector: 3.7416573867739413

一个额外的参数ord可以用来计算一个向量的n次方规范()。

# 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))

输出:

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程