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判定IP地址合法性的三种方法

IP合法性校验是开发中非常常用的,看起来很简单的判断,作用确很大,写起来比较容易出错,今天我们来总结一下,看一下3种常用的IP地址合法性校验的方法。 IPv4的ip地址格式:(1~2...

深入理解python函数递归和生成器

一、什么是递归 如果函数包含了对其自身的调用,该函数就是递归的。递归做为一种算法在程序设计语言中广泛应用,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归...

Python引用模块和查找模块路径

模块间相互独立相互引用是任何一种编程语言的基础能力。对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义。对于编译型的语...

3个用于数据科学的顶级Python库

3个用于数据科学的顶级Python库

Python有许多吸引力,如效率,代码可读性和速度,使其成为数据科学爱好者的首选编程语言。Python通常是希望升级其应用程序功能的数据科学家和机器学习专家的首选。 由于其广泛的用途,P...

Python异常的检测和处理方法

捕获异常 # 对数字变量使用append操作 a = 123 a.apppend(4) 执行这个程序时,会抛出: AttributeError: 'int' object h...