python中np.multiply()、np.dot()和星号(*)三种乘法运算的区别(转)
为了区分三种乘法运算的规则,具体分析如下:
import numpy as np
1. np.multiply()函数
函数作用
数组和矩阵对应位置相乘,输出与相乘数组/矩阵的大小一致
1.1数组场景
【code】
A = np.arange(1,5).reshape(2,2)
A
【result】
array([[1, 2],
[3, 4]])
【code】
B = np.arange(0,4).reshape(2,2)
B
【result】
array([[0, 1],
[2, 3]])
【code】
np.multiply(A,B) #数组对应元素位置相乘
【result】
array([[ 0, 2],
[ 6, 12]])
1.2 矩阵场景
【code】
np.multiply(np.mat(A),np.mat(B)) #矩阵对应元素位置相乘,利用np.mat()将数组转换为矩阵
【result】
matrix([[ 0, 2],
[ 6, 12]])
【code】
np.sum(np.multiply(np.mat(A),np.mat(B))) #输出为标量
【result】
20
2. np.dot()函数
函数作用
对于秩为1的数组,执行对应位置相乘,然后再相加;
对于秩不为1的二维数组,执行矩阵乘法运算;超过二维的可以参考numpy库介绍。
2.1 数组场景
2.1.1 数组秩不为1的场景
【code】
A = np.arange(1,5).reshape(2,2)
A
【result】
array([[1, 2],
[3, 4]])
【code】
B = np.arange(0,4).reshape(2,2)
B
【result】
array([[0, 1],
[2, 3]])
【code】
np.dot(A,B) #对数组执行矩阵相乘运算
【result】
array([[ 4, 7],
[ 8, 15]])
2.1.2 数组秩为1的场景
【code】
C = np.arange(1,4)
C
【result】
array([1, 2, 3])
【code】
D = np.arange(0,3)
D
【result】
array([0, 1, 2])
【code】
np.dot(C,D) #对应位置相乘,再求和
【result】
8
2.2 矩阵场景
【code】
np.dot(np.mat(A),np.mat(B)) #执行矩阵乘法运算
【result】
matrix([[ 4, 7],
[ 8, 15]])
3. 星号(*)乘法运算
作用
对数组执行对应位置相乘
对矩阵执行矩阵乘法运算
3.1 数组场景
【code】
A = np.arange(1,5).reshape(2,2)
A
【result】
array([[1, 2],
[3, 4]])
【code】
B = np.arange(0,4).reshape(2,2)
B
【result】
array([[0, 1],
[2, 3]])
【code】
A*B #对应位置点乘
【result】
array([[ 0, 2],
[ 6, 12]])
3.2矩阵场景
【code】
(np.mat(A))*(np.mat(B)) #执行矩阵运算
【result】
matrix([[ 4, 7],
[ 8, 15]])
------------------------------------------------
转载自:https://blog.csdn.net/zenghaitao0128/article/details/78715140
python中np.multiply()、np.dot()和星号(*)三种乘法运算的区别(转)的更多相关文章
- [转]python中np.multiply()、np.dot()和星号(*)三种乘法运算的区别
转自https://blog.csdn.net/zenghaitao0128/article/details/78715140 为了区分三种乘法运算的规则,具体分析如下: import numpy a ...
- Python中斐波那契数列的四种写法
在这些时候,我可以附和着笑,项目经理是决不责备的.而且项目经理见了孔乙己,也每每这样问他,引人发笑.孔乙己自己知道不能和他们谈天,便只好向新人说话.有一回对我说道,“你学过数据结构吗?”我略略点一点头 ...
- python核心高级学习总结3-------python实现进程的三种方式及其区别
python实现进程的三种方式及其区别 在python中有三种方式用于实现进程 多进程中, 每个进程中所有数据( 包括全局变量) 都各有拥有⼀份, 互不影响 1.fork()方法 ret = os.f ...
- ASP.NET MVC中使用Unity进行依赖注入的三种方式
在ASP.NET MVC中使用Unity进行依赖注入的三种方式 2013-12-15 21:07 by 小白哥哥, 146 阅读, 0 评论, 收藏, 编辑 在ASP.NET MVC4中,为了在解开C ...
- VC中加载LIB库文件的三种方法
VC中加载LIB库文件的三种方法 在VC中加载LIB文件的三种方法如下: 方法1:LIB文件直接加入到工程文件列表中 在VC中打开File View一页,选中工程名,单击鼠标右键,然后选中&quo ...
- jQuery中detach&&remove&&empty三种方法的区别
jQuery中empty&&remove&&detach三种方法的区别 empty():移除指定元素内部的所有内容,但不包括它本身 remove():移除指定元素内部的 ...
- 命令stat anaconda-ks.cfg会显示出文件的三种时间状态(已加粗):Access、Modify、Change。这三种时间的区别将在下面的touch命令中详细详解:
7.stat命令 stat命令用于查看文件的具体存储信息和时间等信息,格式为"stat 文件名称". stat命令可以用于查看文件的存储信息和时间等信息,命令stat anacon ...
- python中List添加、删除元素的几种方法
一.python中List添加元素的几种方法 List 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持着初始时的定义的顺序(除非你对它们进行排序或其他修改操作).在Pytho ...
- 详解Python中的__new__、__init__、__call__三个特殊方法(zz)
__new__: 对象的创建,是一个静态方法,第一个参数是cls.(想想也是,不可能是self,对象还没创建,哪来的self)__init__ : 对象的初始化, 是一个实例方法,第一个参数是self ...
随机推荐
- react-01
比较了半天VUE.Angular.React,最终选择React,下面从几个例子开始React的学习,先从单个的index.html,引用react.js开始 一.最简单的纯JS的代码 <!DO ...
- http 自定义信息头(header)设置与获取
一.后端设置(如:java) 在你服务端(如:java)返回的时候写上: res.setHeader("Access-Control-Expose-Headers",propNam ...
- 移动端使用fastclick时,模拟原生浏览器对象
移动浏览器原生click事件有300ms的延时,这是浏览器为了区分到底是双击还是单击事件.(实际上有些移动浏览器不支持双击事件.PC版chrome在手机模式下,当禁止用户双击缩放页面时(即有viewp ...
- shell逻辑运算总结, 包括[[]]与[]的区别,&&与-a的区别,||与-o的区别
1. 关于文件和目录 -f 判断某普通文件是否存在 -d 判断某目录是否存在 -b 判断某文件是否块设备 -c 判断某文件是否字符设备 -S 判断某文件是否socket(待修正) -L 判 ...
- thymeleaf拆分头部(head)显示异常问题
问题描述: 刚用thymeleaf不久,考虑到公共头部的导入css,js代码,需要拆分. 拆分之后,bootstrap-select下拉多选框出现“样式异常”,本认为是头部拆分问题,css样式未导入成 ...
- idea启动springboot+jsp项目出现404
场景:用IntelliJ IDEA 启动 springBoot项目访问出现404,很皮,因为我用eclipse开发时都是正常的,找了很久,什么加注释掉<scope>provided< ...
- 移动端--用PX为单位+JS框架 实现页面布局
一:大家先下载metahandler.js 二:准备一个用px实现的移动页面(宽度固定死的页面),引入metahandler.js框架 1.视口设置 width=640,是根据psd图来设置,有多宽设 ...
- Docker优势以及与传统虚拟机对比(1)
docker优势 1.更快速地交付和部署: 2.更高的虚拟化(不需要额外的hypervisor支持,是内核级的虚拟化,实现更高的性能呢和效率): 3.更轻松的迁移和扩展: 4.更简单的管理 与传统的 ...
- Shader 屏幕后期特效 Shake(震屏)&Wave(波纹)
震屏效果 Shader: //////////////////////////////////////////// ///// CameraPlay - by VETASOFT 2017 ///// ...
- W3C标准和规范
W3C标准万维网联盟标准. 万维网联盟(外语缩写:W3C)标准不是某一个标准,而是一系列标准的集合.网页主要由三部分组成:结构(Structure).表现(Presentation)和行为(Behav ...