点积
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 =
| 5 | 2 | 1 | 8 |
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 会执行矩阵乘法,这部分内容将在下一课中介绍。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
挑战
简单创建一个名为 calculate 的函数,它接收两个 Python 列表,并执行以下操作:
- res1 = 两个列表相减
- res2 = 两个列表相乘
并返回 res1 和 res2 的点积。
亲手试试
import numpy as np
def calculate(lst1, lst2):NumPy 基础中的所有课
自己练习: Python 在线编译器