python矩阵乘法 点乘_转(matlab和numpy矩阵乘法异同)

广义的矩阵的矩阵乘法包括:矩阵相乘,矩阵点乘,向量乘法与向量点乘,内积。

对应的MATLAB有[* , .* ,

dot]三种运算符。分别表示的相乘,点乘和内积。

而在numpy中呢,也有*和dot两种运算

下面开始说他们之间的关系:

1.矩阵乘法:

MATLAB下的矩阵乘法a*b,在python下是numpy.dot(a,b)

很明显,a的列数必须等于b的行数,因为这个是矩阵的运算。

2.矩阵(向量)点乘

MATLAB下的矩阵点乘是a.*b,而在python下是a*b,

很明显,a与b的size是完全一样的

3.内积

在MATLAB下,vector的内积,用函数dot(a,b)实现。而在python下,也是dot(a,b)

a,b的长度必须一致

内积和:sum(dot(a,b))

a = [ 0, 0, 0,

0, 0, 0, 30;

0, 0, 0, 0, 50, 50, 50;

0, 0, 0, 20, 50, 0, 0;

0, 0, 0, 50, 50, 0, 0;

0, 0, 0, 50, 50, 0, 0;

0, 0, 0, 50, 50, 0, 0;

0, 0, 0, 50, 50, 0, 0]

b = [ 0, 0, 0,

0, 0, 30, 0;

0, 0, 0, 0, 30, 0, 0;

0, 0, 0, 30, 0, 0, 0;

0, 0, 0, 30, 0, 0, 0;

0, 0, 0, 30, 0, 0, 0;

0, 0, 0, 30, 0, 0, 0;

0, 0, 0, 0, 0, 0, 0]

c = [ 0, 0, 0, 0, 0, 0,

0;

0, 40, 0, 0, 0, 0, 0;

40, 0, 40, 0, 0, 0, 0;

40, 20, 0, 0, 0, 0, 0;

0, 50, 0, 0, 0, 0, 0;

0, 0, 50, 0, 0, 0, 0;

25, 25, 0, 50, 0, 0, 0]

d = a.*

b

e =

sum(dot(a,b))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值