介绍
在本实验中,我们将探索 Numpy 库中的 dot() 函数,该函数主要用于计算两个向量的点积。我们还将了解该函数如何处理 2D 数组(作为矩阵)并执行矩阵乘法。
虚拟机提示
虚拟机启动完成后,点击左上角切换到 Notebook 标签页,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟,直到 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,请随时向 Labby 提问。实验结束后提供反馈,我们将及时为你解决问题。
理解 numpy.dot() 的语法
使用 dot() 函数所需的语法如下:
numpy.dot(a, b, out=None)
其中:
- a 是第一个参数。如果 "a" 是复数,则使用其共轭复数来计算点积。
- b 是第二个参数。如果 "b" 是复数,则使用其共轭复数来计算点积。
- out 是输出参数。如果未使用,则它必须具有与返回值完全相同的类型。否则,它必须是 C 连续的,并且其
dtype必须与dot(a, b)返回的dtype相同。
计算标量和一维数组的点积
在这一步中,我们将使用 dot() 函数来计算标量和一维数组的点积。
import numpy as np
## 计算标量值的点积
a = np.dot(8, 4)
print("上述标量值的点积为:")
print(a)
## 计算两个一维数组的点积
vect_a = 4 + 3j
vect_b = 8 + 5j
dot_product = np.dot(vect_a, vect_b)
print("两个一维数组的点积为:")
print(dot_product)
使用二维数组执行矩阵乘法
在这一步中,我们将使用 dot() 函数对二维数组执行矩阵乘法。
import numpy as np
a = np.array([[50,100],[12,13]])
print("矩阵 a 为:")
print(a)
b = np.array([[10,20],[12,21]])
print("矩阵 b 为:")
print(b)
dot = np.dot(a, b)
print("矩阵 a 和 b 的点积为:")
print(dot)
错误处理
在这一步中,我们将探讨当 a 的最后一个维度与 b 的倒数第二个维度大小不匹配时引发的 ValueError。
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([[7, 8], [9, 10], [11, 12], [13, 14]])
## 错误处理
error = np.dot(a, b)
print(error)
总结
在本实验中,我们介绍了 Numpy 库中的 dot() 函数。我们学习了如何使用该函数及其语法,并通过代码示例解释了该函数返回的值。我们还探讨了该函数的错误处理机制。