python numpy 矩阵乘法以及列向量与行向量乘法 您所在的位置:网站首页 python数组乘以常数结果 python numpy 矩阵乘法以及列向量与行向量乘法

python numpy 矩阵乘法以及列向量与行向量乘法

2023-12-25 03:42| 来源: 网络整理| 查看: 265

最近在熟悉python的科学计算,对于numpy的矩阵运算进行一些总结,和matlab还是很不一样的

import numpy as np

1、矩阵乘法

np.dot(a,b),但a,b都为一维矩阵的时候,.dot实现内积,不用考虑a,b具体是行向量还是列向量,也就是说,a,b同为行向量仍然可以计算

a.dot(b)

a@b

2、各个元素相乘

a*b                       但当a,b分别为行向量和列向量时,返回矩阵,不管a,b谁在前边都是一样的结果

np.multiply(a,b),但当a,b分别为行向量和列向量时,.multiply返回矩阵,不管a,b谁在前边都是一样的结果

3、行向量变列向量

a = np.array([1,2,3])

b=np.transpose([a])         修改b,不会对a进行修改

b = np.array([a]).T            修改b,不会对a进行修改

 

b = a.reshape(-1,1)          修改b,同时会对a进行修改

b = a[:,np.newaxis]           修改b,同时会对a进行修改

b=a.reshape(len(a),-1),    修改b,同时会对a进行修改

b=a[:,None].                     修改b,同时会对a进行修改

3.1、列向量变行向量

a = np.array([[2],[5],[8]])

b = np.transpose(a)         修改b,会对a进行修改

4、列向量b乘以行向量a

np.multiply(a,b)

np.multiply(b,a)

a*b

b*a

np.outer(a,b)

np.outer(b,a)

b@a会报错

5、行向量a乘以列向量b

a@b

 

6、需要注意

对矩阵或向量a:a[0]指的是第0行,

所以,对列向量a可以用a[0],a[1]来表示第0,1个元素,但是对行向量a必须用a[:,n]来表示第n个元素,如果对a[0]进行赋值,则是对整个行向量赋值。

 

参考:http://www.itkeyword.com/doc/7498360611061724524/numpy-scalar-multiplication-of-column-vector-times-row-vector

 https://docs.scipy.org/doc/numpy/user/quickstart.html

https://www.cnblogs.com/bob-dong/p/6207871.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有