numpy运算简介(一)

a = np.array([[1, 3], [2, 4]])
b = np.array([[5, 1], [2, 2]])
print(type(a), type(b))
##<class 'numpy.ndarray'> <class 'numpy.ndarray'>

求和(np.add)

print(a + b)  # [[6 4] [4 6]]
print(np.add(a, b))  # [[6 4] [4 6]]

求差(np.substract)

print(b - a)  # [[ 4 -2] [ 0 -2]]
print(np.subtract(b, a))  # [[ 4 -2] [ 0 -2]]

求积(np.dot、np.matmul、np.multiply、*)

#求积
print(np.matmul(a, b))  # [[11  7] [18 10]]
print(np.dot(a, b))  # [[11  7] [18 10]]
print(np.multiply(a, b))  # [[5 3] [4 8]]
print(a * b)  # [[5 3] [4 8]]

a_m = np.mat([[1, 3], [2, 4]])
b_m = np.mat([[5, 1], [2, 2]])
print(type(a_m), type(b_m))  # <class 'numpy.matrix'> <class 'numpy.matrix'>

print(np.matmul(a_m, b_m))  # [[11  7] [18 10]]
print(np.dot(a_m, b_m))  # [[11  7] [18 10]]
print(np.multiply(a_m, b_m))  # [[5 3] [4 8]]
print(a_m * b_m)  # [[11  7] [18 10]]

由上面可以看出:

对于array类型来说  :只有matmul、dot方法执行矩阵乘法 而 multiply、*则执行对应位的相乘。

对于matrix类型来说:只有matmul、dot、*方法执行矩阵相乘 而 multiply则执行对应位相乘。

所以通常采用matnul或者dot进行矩阵相乘,multiply进行对应为相乘。

 

转载于:https://www.cnblogs.com/answerThe/p/11368923.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值