Menu
CoddyTech

点积

Coddy NumPy 基础 课程的第 17 课,共 18 课。

 

点积(也称为标量积)是线性代数中的一种运算,它接收两个大小相同的向量(向量是一个数字序列),并返回一个数字

工作原理

 示例 1

vector1 = [1, 2, 3]

vector2 = [4, 5, 6]

vector1 和 vector2 的点积:

1 * 4 + 2 * 5 + 3 * 6 = 32

示例 2

两个向量相乘时,一个必须是垂直的(形状:(X, 1)),另一个必须是水平的(形状:(1, X))

Vector1 = 

5218

Vector2 = 

6
8
2
1

点积是将两个向量中对应位置的数字分别相乘后,再求和。

点积:

5*6 + 2*8 + 1*2 + 8*1 = 56

使用 Numpy 计算点积

Numpy 中的语法是 np.dot() 

示例 3

两个一维 Numpy 数组的点积

ary1 = np.array([1, 4, 2])
ary2 = np.array([2, 5, 7])
np.dot(ary1, ary2) # 1*2 + 4*5 + 2*7
>>> 36

示例 4

一维 Numpy 数组与标量(一个数字)的点积

ary1 = np.array([1, 4, 2])
num1 = 5
np.dot(ary1, num)
>>> [ 5, 20, 10]

它的行为就像我们将数组与标量相乘:ary1 * 5

如果其中一个数组是二维数组,np.dot 会执行矩阵乘法,这部分内容将在下一课中介绍。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

challenge icon

挑战

简单

创建一个名为 calculate 的函数,它接收两个 Python 列表,并执行以下操作:

  • res1 = 两个列表相减
  • res2 = 两个列表相乘

并返回 res1 和 res2 的点积。

亲手试试

import numpy as np
def calculate(lst1, lst2):

NumPy 基础中的所有课

自己练习: Python 在线编译器