numpy matrix和array的乘和加实例

yipeiwu_com6年前Python基础

1. 对于数组array

就是对应位置的元素相乘:

X1 = np.array([[1,2], [3, 4]])
X2 = X1
print X2*X1
[[ 1 4]
 [ 9 16]]

就是对应位置的相加:

X1 = np.array([[1,2], [3, 4]])
X2 = X1
print X2+X1
[[2 4]
 [6 8]]

2. 对于矩阵matrix

就是矩阵的点乘:

X1 = np.matrix([[1,2], [3, 4]])
X2 = X1
print X2*X1
[[ 7 10]
 [15 22]]

有两种情况,第一种是X1与X2的大小一致,就是普通的矩阵相加,即对应位置相加:

X1 = np.matrix([[1,2], [3, 4]])
X2 = X1
print X2+X1
[[2 4]
 [6 8]]

第二种情况是n*1的X1 + m*1的X2(或者反过来),就会得到n*m的矩阵:

X1 = np.matrix([[1,2,3]])
X2 = np.matrix([[1,2,3,4]]).T
print X2+X1
[[2 3 4]
 [3 4 5]
 [4 5 6]
 [5 6 7]]

3. 混用情况

在numpy中存在很多的matrix和array 运算符混用的情况,程序也能通过,但这样很不好,尽量按照以上原则使用。

如果2维的array想要进行矩阵的点乘运算,可以用np.dot(X1, X2)

如果matrix想要进行对应位置的乘,可以用np.multiply(X2,X1)

以上这篇numpy matrix和array的乘和加实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python多进程实现进程间通信实例

python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。Python提供了非常好用的多进程包multiprocessi...

Django使用uwsgi部署时的配置以及django日志文件的处理方法

首先保证你有一个可运行的django工程 然后在虚拟环境里面安装好uwsgi pip install uwsgi 配置nginx的服务如下 server {...

Python入门篇之面向对象

面向对象设计与面向对象编程的关系   面向对象设计(OOD)不会特别要求面向对象编程语言。事实上,OOD 可以由纯结构化语言来实现,比如 C,但如果想要构造具备对象性质和特点的...

python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别

python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别

前言 写爬虫有一个绕不过去的问题就是验证码,现在验证码分类大概有4种: 图像类 滑动类 点击类 语音类 今天先来看看图像类,这类验证码大多是数字、字母的组合,国内也...

python plotly画柱状图代码实例

python plotly画柱状图代码实例

这篇文章主要介绍了python plotly画柱状图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码 import p...