背景

NumPy和Matlab不一样,对于多维数组的运算,缺省情况下并不使用矩阵运算,可以调用相应的函数对数组进行矩阵运算。或者使用numpy库提供了的matrix类,用matrix类创建的是矩阵对象,它们的加减乘除运算缺省采用矩阵方式计算,用法和matlab十分类似。不过一般用户很容易将NumPy中同时存在的ndarray和matrix对象弄混,一般不建议在大程序中使用。下面简单介绍python的多维数组怎么进行常用的矩阵运算,以及对应的matlab写法。

对应表

用法 MATLAB Python 说明
乘法 A*B A.dot(B)
点乘 A.*B A*B
计算X满足指定条件的元素个数 numel(X) X.size
返回矩阵X的行数 size(X, 1) X.shape[0]
返回矩阵X的列数 size(X, 2) X.shape[1]
共轭转置 X’ X.conj().T
转置 X.’ X.T
数组X的1至5行的所有列的元素 X(1:5, :) X[0:5, :]
数组X的1至行中的4至7列元素 X(1:2, 4:7) X[0:2][:, 3:7]
以X的内容堆叠在(MxN)的矩阵B中 repmat(X, 2, 3) np.tile(X, (2, 3)) X是一个3x4x5的矩阵,有B = repmat(A,2,3)则最后的矩阵是6x12x5
水平组合 [a b] or [a, b] np.hstack((a,b))
垂直组合 [a; b] np.vstack((a,b))
产生一个M*N的矩阵 ones(M,N) np.ones((M,N))

博主这里总结列举了一些常用的操作,后期遇到别的还会继续更新。

今天发现一篇更详细的博客,大家可以参考:http://blog.sina.com.cn/s/blog_9eb617490102wsj7.html

MATLAB与Python numpy矩阵操作对应表相关推荐

  1. python numpy常用操作、Numpy 多维数组、矩阵相乘、矩阵乘以向量

    python numpy常用操作 Numpy基本操作 # 导入numpy import numpy as np # 生成numpy数组 x = np.array([1.0, 2.0, 3.0]) pr ...

  2. Matlab和Python(Numpy,Scipy)与Lapack的关系

    说到数值计算,可能许多人都能立马想到Matlab.Matlab多年的持续影响力已经让它成为许多人心中科学计算的代名词.但它底层一个重要的库Lapack却很少有人知道. 而Python年龄比Matlab ...

  3. 厉害了,Python也能操作注册表

    点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 今 日 鸡 汤 多情只有春庭月,犹为离人照落花. 前言 大家好,我是IT共享者,人称 ...

  4. 利用Python读取并操作注册表

    利用Python读取并操作注册表 一.Python与注册表相关的库 winreg(主要) win32api 二.注册表结构:键.值 三.winreg--访问Windows注册表 1.模块功能: win ...

  5. python numpy矩阵的旋转, 转置, 正对角线镜像, 副对角线镜像, 行交换, 列交换操作 rot90()

    引用文章: NumPy矩阵的旋转 http://liao.cpython.org/numpy13/

  6. MATLAB命令大全和矩阵操作大全

    一.矩阵的表示 在MATLAB中创建矩阵有以下规则: a.矩阵元素必须在"[ ]"内: b.矩阵的同行元素之间用空格(或",")隔开: c.矩阵的行与行之间用& ...

  7. python numpy矩阵的数据类型转换

    在python中,numpy矩阵的数据类型转换需要调用astype(),直接修改dtype是无效的.调用astype返回数据类型修改后的矩阵,但是源数据的类型不会变,需要再对源数据的赋值进行操作才可以 ...

  8. Python 技巧 —— 矩阵操作

    欢迎关注 "小白玩转Python",发现更多 "有趣" 使用 NumPy 学习矩阵和求解线性方程组的完整指南 矩阵作为一种数学资源被用于一些现实世界的应用.在本 ...

  9. Matlab和Python 画矩阵的非零元分布图

    文章目录 前言 Matlab画矩阵的非零元分布图 程序 结果 Python画矩阵的非零元分布图 程序 结果 总结 前言 一般我们在进行数值计算时,经常会遇到求解如下等式的问题: Ax=bAx=b Ax ...

最新文章

  1. 【图论专题】差分约束系统
  2. 千万级并发下的 推送系统建设策略解析(一)
  3. [TJOI2018]xor BZOJ5338 可持久trie
  4. 统一建模语言UML要点全面简析
  5. git config设置用户名_一个神奇的工具,实现多人协作,git常用命令详解
  6. 修改可选项文件实现自动连接数据库服务器
  7. 北京内推 | ​美团无人车团队招聘视觉算法实习生
  8. TCP往返时延的估计和超时
  9. Cloudera Manager安装之Cloudera Manager 5.3.X安装(三)(tar方式、rpm方式和yum方式)...
  10. 理工科常用的学习工具
  11. 对Ajax返回的json数据做处理报错
  12. 图像处理学习--银行卡号码识别(1)
  13. fullpage实现单页面全屏网站
  14. android 4g wifi热点,全网通吃!中兴MF910S 4G无线热点上手体验
  15. 30条爆笑的程序员梗PHP是最好的语言
  16. 程序员面试之九阴真经
  17. 论创业者的幸存者偏差
  18. win10+anaconda+pycharm python画图完整过程
  19. vue中el-table翻页序号连续
  20. JZOJsenior5473.【NOIP2017提高组】day1T1小凯的疑惑

热门文章

  1. 线性代数里的最小二乘法介绍
  2. 乔布斯的64周年诞辰,苹果滞销的第N天
  3. (转载)keras使用入门及3D卷积神经网络资源
  4. sql根据年月日查询注册数或者和值
  5. 使用VC连接Access数据库的两种方法
  6. Step By Step(Lua调用C函数)
  7. openresty url重写
  8. python中itertools模块介绍---03
  9. Android中发送和接收短信
  10. ISE14.7在win10下的兼容性问题汇总