NumPy中的dot()函数和Python中的*操作,都可以用于矩阵的乘法运算,但是它们的表现却是不同的。
NumPy.dot()函数
NumPy中的dot()函数是一个矩阵的点乘运算,可以对两个数组(矩阵)进行乘积运算:
import numpy as np
a = np.array([[1,2],[3,4]])
b = np.array([[5],[6]])
c = np.dot(a,b)
print(c)
输出结果为:
[[17]
[39]]
上述代码中,首先我们定义了两个数组a和b(矩阵),然后使用NumPy的dot()函数,对它们进行点乘运算,将结果保存在一个新的数组c中。如果两个数组的维度不符,会报错。
Python中的’*’操作
Python中的*操作在进行矩阵的乘法运算时,表现得和数乘操作一样,只能对某个数字乘上一个矩阵中的所有元素:
a = [[1,2],[3,4]]
b = [[5],[6]]
c = a * b
print(c)
输出结果为:
TypeError: can't multiply sequence by non-int of type 'list'
上述代码中,我们尝试使用Python中的*操作来对两个数组(矩阵)进行乘积运算,但是代码却报了TypeError的错误。
这是因为Python中的*操作只能对数字进行数乘操作,而不是对矩阵进行乘积操作。
综上所述,NumPy中的dot()函数和Python中的*操作都可以用于矩阵的乘法运算,但是它们的表现却是不同的,使用时需要根据需求进行选择。