版权声明:转载必须经过本人同意,并且注明文章来源! https://blog.csdn.net/weixin_41665360/article/details/84796683
1、array的运算
1.1 代码及运算结果
import numpy as np
# array的运算
a = np.array([1, 2, 3])
b = np.array([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
print('这是array的*乘:\n', a*b)
这是array的*乘:
[[1 4 9]
[1 4 9]
[1 4 9]]
print('这是array的dot乘:\n', np.dot(a, b))
这是array的dot乘:
[ 6 12 18]
print('这是array的multiply乘:\n', np.multiply(a, b))
这是array的multiply乘:
[[1 4 9]
[1 4 9]
[1 4 9]]
1.2 小结
- array的 * 乘根据广播原则将对应元素相乘
- array的dot 乘为矩阵的乘法
- array的multiply乘根据广播原则将对应元素相乘
2、mat的运算
2.1 代码及运算结果
# mat的运算
a = np.mat([1, 2, 3])
b = np.mat([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
print('这是mat的*乘:\n', a*b)
这是mat的*乘:
[[ 6 12 18]]
print('这是mat的dot乘:\n', np.dot(a, b))
这是mat的dot乘:
[[ 6 12 18]]
print('这是mat的multiply乘:\n', np.multiply(a, b))
这是mat的multiply乘:
[[1 4 9]
[1 4 9]
[1 4 9]]
2.2 小结
- mat的 * 乘为矩阵的乘法
- mat的dot 乘为矩阵的乘法
- mat的multiply乘根据广播原则将对应元素相乘
3、总结
- 无论array还是mat,multiply 均为根据广播原则将对应元素相乘的运算
- 无论array还是mat,dot 均为矩阵的乘法,但是两者结果不完全相同(见上例)
- array的 * 乘为对应元素相乘,但是mat的 * 乘为矩阵的乘法