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 ...
随机推荐
- Python 的经典设计格言,格言来源于 Python 但不限于 Python
The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Si ...
- EasyPOI校验实现返回错误信息及行号
IExcelModel 获取错误信息 public class ExcelVerifyEntity implements IExcelModel { private String errorMsg; ...
- Springboot & Mybatis 构建restful 服务二
Springboot & Mybatis 构建restful 服务二 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务一 2 restful ...
- jQuery子页面获取父页面元素并绑定事件
父页面HTML文件: <ul id="faul"> <li class="sonli">子页面列表1</li> <li ...
- Django项目及应用的创建
一.url解释 1url是全球资源定位符,网上的每个文件都有唯一的url地址,组成:协议.服务器名称(或IP地址).路径和文件名. 2有时候,URL以斜杠“/”结尾,而没有给出文件名,在这种情况下,U ...
- Unity3D编辑器扩展(四)——扩展自己的组件
前面已经写了三篇: Unity3D编辑器扩展(一)——定义自己的菜单按钮 Unity3D编辑器扩展(二)——定义自己的窗口 Unity3D编辑器扩展(三)——使用GUI绘制窗口 今天写第四篇,扩展自己 ...
- ruby module extend self vs module_funciton
最近学习ruby过程中,extend self 跟 module_function 傻傻分不清楚,查资料后明白之间的差别,虽记录之,原文地址 github module A extend self d ...
- Thread,ThreadPool,Task
线程分为前台和后台.比如我们直接new一个Thread这就是前台线程. 前台线程一定会执行. 比如我们创建2个线程:1号,2号,同时执行,假设1号是主线程,1执行完了,依旧会等待2执行完成,整个程序才 ...
- android-audioRecord
android 录音功能 录音的大致流程,流程图可以在文件下载:mediarecord.vsdx 切换设备.谁去更新播放流,自动选择新的设备?流程?
- Hive(一)
1. HIVE概念: Hive:由Facebook开源用于解决海量结构化日志的数据统计. Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能. 本 ...