hadamard积 matlab_矩阵乘法在numpy/matlab/数学上的不同

本文详细介绍了矩阵乘法的基本规则,包括矩阵相乘的条件和结果矩阵的形状。同时,对比了MatLab和Numpy中矩阵乘法与哈达马积的区别,指出`*`操作符在Numpy中对应的是哈达马积,而`.`操作符或`dot()`函数则表示矩阵乘法。通过实例展示了这两个运算在代码中的实现,帮助理解这两种运算的不同之处。
摘要由CSDN通过智能技术生成

数学意义上的矩阵乘法

注意事项:

1、当矩阵A的列数(column)等于矩阵B的行数(row)时,A与B可以相乘。

2、矩阵C的行数等于矩阵A的行数,C的列数等于B的列数。

3、乘积C的第m行第n列的元素等于矩阵A的第m行的元素与矩阵B的第n列对应元素乘积之和。

乘积-哈达马积(hadamard product)

乘积-克罗内克乘积

MatLab中的乘法()和点乘(.)

a * b 是进行矩阵相乘, a.*b是a矩阵的每一个元素乘以b矩阵对应位置的元素

形成的一个新矩阵。

Numpy

In [1]: import numpy as np

In [2]: a = np.array([[1, 2, 3], [4, 5, 6]])

In [3]: b = np.array([[1, 2, 3], [4, 5, 6]])

In [4]: a * b

Out[4]:

array([[ 1, 4, 9],

[16, 25, 36]])

In [7]: np.multiply(a, b)

Out[7]:

array([[ 1, 4, 9],

[16, 25, 36]])

重点numpy中 a * b(相当于np.multiply(a, b)) 相当于数学上的乘积-哈达马积,相当于matlab中的点乘(.*), 并且要求a,b矩阵的shape一致;

numpy中a.dot(b)(相当于np.dot(a,b)) 相当于数学上矩阵的乘法,相当于matlab中的矩阵乘法(a*b), 要求a矩阵的列等于b矩阵的行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值