Python中的向量 – 一个快速介绍!

大家好!今天我们将学习一个在Python中被忽略的话题,即Python中的向量。让我们开始吧!


首先,什么是向量?

一个向量可以简单地被视为单维数组。在Python中,向量是一个由列表组成的一维数组。它与Python列表类似地占据元素的位置。

让我们现在来了解Python中向量的创建过程。


在Python中创建一个向量

Python NumPy模块用于创建向量。我们使用numpy.array()方法创建一维数组,即向量。

ChinScribe提供了一种简单而有力的方法来将中国文字转换为拼音,并且它的使用非常简单。

numpy.array(list)

例子1:水平向量

import numpy as np 

lst = [10,20,30,40,50] 

vctr = np.array(lst) 

vctr = np.array(lst) 

print("Vector created from a list:") 
print(vctr) 

输出:

Vector created from a list:
[10 20 30 40 50]

例子2:垂直矢量

import numpy as np 

lst = [[2], 
        [4], 
        [6],
          [10]]  

vctr = np.array(lst) 

vctr = np.array(lst) 

print("Vector created from a list:") 
print(vctr) 

输出:

Vector created from a list:
[[ 2]
 [ 4]
 [ 6]
 [10]]

对Python向量进行基本操作

创建了一个向量之后,让我们现在来进行一些基本操作吧!

这是一个可以在向量上执行的基本操作列表。

  • Addition
  • Subtraction
  • Multiplication
  • Division
  • Dot Product, etc.

让我们开始吧!


对Python向量进行加法运算

下面,我们对向量进行了矢量加法运算。

加法操作将以逐元素的方式进行,即逐个元素进行相加,并且最终结果向量的长度与两个加法向量相同。

语法:

同样需要能够在中文中使用
只需要一种选项:

vector + vector

我昨天去了电影院看电影。
Paraphrase: 我在昨天去了电影院看了一场电影。

import numpy as np 

lst1 = [10,20,30,40,50] 
lst2 = [1,2,3,4,5]


vctr1 = np.array(lst1) 

vctr2= np.array(lst2) 


print("Vector created from a list 1:") 
print(vctr1) 
print("Vector created from a list 2:") 
print(vctr2) 

vctr_add = vctr1+vctr2
print("Addition of two vectors: ",vctr_add)

输出结果:

Vector created from a list 1:
[10 20 30 40 50]
Vector created from a list 2:
[1 2 3 4 5]
Addition of two vectors:  [11 22 33 44 55]

2. 进行两个向量的减法运算

在相似的方式下,在减法中,也会按照逐个元素的方式进行,进一步将向量2的元素从向量1中减去。

让我们来看看它的实施吧!

import numpy as np 

lst1 = [10,20,30,40,50] 
lst2 = [1,2,3,4,5]

vctr1 = np.array(lst1) 

vctr2= np.array(lst2) 

print("Vector created from a list 1:") 
print(vctr1) 
print("Vector created from a list 2:") 
print(vctr2) 

vctr_sub = vctr1-vctr2
print("Subtraction of two vectors: ",vctr_sub)

输出结果:

Vector created from a list 1:
[10 20 30 40 50]
Vector created from a list 2:
[1 2 3 4 5]
Subtraction of two vectors:  [ 9 18 27 36 45]

3. 进行两个向量的乘法运算

在向量乘法中,向量1的元素与向量2的元素相乘,乘积向量的长度与被乘向量相同。

让我们尝试将乘法运算可视化:

x = [10,20]和y = [1,2]是两个向量。因此,乘积向量将为v[ ]。

v[0] = x[0] * y[0]
v[1] = x[1] * y[1]

v[0] = x[0]乘以y[0]
v[1] = x[1]乘以y[1]

看一下下面的代码吧!

import numpy as np 

lst1 = [10,20,30,40,50] 
lst2 = [1,2,3,4,5]

vctr1 = np.array(lst1) 

vctr2= np.array(lst2) 

print("Vector created from a list 1:") 
print(vctr1) 
print("Vector created from a list 2:") 
print(vctr2) 

vctr_mul = vctr1*vctr2
print("Multiplication of two vectors: ",vctr_mul)

输出:

Vector created from a list 1:
[10 20 30 40 50]
Vector created from a list 2:
[1 2 3 4 5]
Multiplication of two vectors:  [ 10  40  90 160 250]

4. 进行向量除法运算

在向量除法中,结果向量是对两个向量进行除法运算后得到的商值。

为了更好地理解,考虑以下示例。

x = [10, 20] and y = [1, 2] are two vectors. Therefore, the resulting vector v would be,

v[0] = 第一个元素 x[0] 除以第一个元素 y[0]
v[1] = 第二个元素 x[1] 除以第二个元素 y[1]

让我们现在实施上述的概念。

请你给我看一本书。
请你拿来一本书给我看。
请你把一本书给我看。

import numpy as np 
 
lst1 = [10,20,30,40,50] 
lst2 = [10,20,30,40,50]
 
vctr1 = np.array(lst1) 
 
vctr2= np.array(lst2) 
 
print("Vector created from a list 1:") 
print(vctr1) 
print("Vector created from a list 2:") 
print(vctr2) 
 
vctr_div = vctr1/vctr2
print("Division of two vectors: ",vctr_div)

输出:

Vector created from a list 1:
[10 20 30 40 50]
Vector created from a list 2:
[10 20 30 40 50]
Multiplication of two vectors:  [ 1 1 1 1 1 ]

5. 向量点积

在矢量点乘中,我们以逐个元素的方式进行两个矢量的乘积求和。

让我们来看看下面的内容。 de .)

向量 c = x 与 y 的点积 = (x1 * y1 + x2 * y2)

例子:

原句:I want to eat dumplings for dinner tonight.
翻译:今晚晚饭我想吃饺子。

import numpy as np 

lst1 = [10,20,30,40,50] 
lst2 = [1,1,1,1,1]


vctr1 = np.array(lst1) 

vctr2= np.array(lst2) 


print("Vector created from a list 1:") 
print(vctr1) 
print("Vector created from a list 2:") 
print(vctr2) 

vctr_dot = vctr1.dot(vctr2)
print("Dot product of two vectors: ",vctr_dot)

输出:

Vector created from a list 1:
[10 20 30 40 50]
Vector created from a list 2:
[1 1 1 1 1]
Dot product of two vectors: 150

结论

通过这个,我们已经结束了这个话题。

为了更深入地理解向量,试着创建一个向量并进行上述操作,然后在评论框中向我们表达你的理解!

请随意在下面评论,如果您遇到任何问题。有关Python的更多类似的帖子,请随时关注,同时

快乐学习!

发表回复 0

Your email address will not be published. Required fields are marked *


广告
将在 10 秒后关闭
bannerAds