总结:1、np.multiply:矩阵和矩阵,数组与数组之间,横轴各对应元素相乘,因此矩阵的横轴上的元素数量要相等,或者其中一 个横轴元素数为1
2、np.matmul 第一个矩阵或数组的横轴元素与第二个矩阵或数组的纵轴元素进行对应位置相乘再求和,相乘时,对应的元素数量必须相等。
3、用 “ * ”符号对二维数组进行运算,效果等于np.multiply.-----
用 “ * ”符号对二维j矩阵进行运算,效果等于np.matmul.----
举例:
一维数组之间的相乘:
a1 = np.array(np.arange(1,8,2))
b1 = a1.reshape(2,2)
# a4 = np.array(np.random.normal(0,0.01,size=25))
#一维数组的相乘
print("a1:",a1)
print("a1.T",a1.T)
print("a1*a1==",a1*a1)
print("a1@a1==",a1@a1)
print("np.dot(a1,a1)==",np.dot(a1,a1))
print("np.matmul==",np.matmul(a1,a1))
输出结果:
a1: [1 3 5 7]
a1.T [1 3 5 7]
a1*a1== [ 1 9 25 49]
a1@a1== 84
np.dot(a1,a1)== 84
np.matmul== 84
#二