Numpy中array与mat的运算

版权声明:转载必须经过本人同意,并且注明文章来源! 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的 * 乘为矩阵的乘法

猜你喜欢

转载自blog.csdn.net/weixin_41665360/article/details/84796683