python中array和matrix的区别

 我来答
从空去听8
2017-12-30 · TA获得超过7439个赞
知道大有可为答主
回答量:6907
采纳率:93%
帮助的人:5567万
展开全部
二者的区别主要在于在做乘法运算的时候,一个是矩阵乘,一个是数组乘,这里和MATLAb很相似。

调用的时候需要用numpy.array

Numpy matrices必须是2维的,但是numpy arrays (ndarrays) 可以是多维的(1D,2D,3D····ND). Matrix是Array的一个小的分支,包含于Array。所以matrix 拥有array的所有特性。

在numpy中matrix的主要优势是:相对简单的乘法运算符号。例如,a和b是两个matrices,那么a*b,就是积。

import numpy as np a=np.mat('4 3; 2 1') b=np.mat('1 2; 3 4')print(a)# [[4 3]# [2 1]]print(b)# [[1 2]# [3 4]]print(a*b)# [[13 20]# [ 5 8]]

matrix 和 array 都可以通过在have.Tto return the transpose, but matrix objects also have.Hfor the conjugate transpose, and.Ifor the inverse.

In contrast, numpy arrays consistently abide by the rule that operations are applied element-wise. Thus, if a and b are numpy arrays, then a*b is the array formed by multiplying the components element-wise:

c=np.array([[4, 3], [2, 1]]) d=np.array([[1, 2], [3, 4]])print(c*d)# [[4 6]# [6 4]]

To obtain the result of matrix multiplication, you use np.dot :

print(np.dot(c,d))# [[13 20]# [ 5 8]]
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式