热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python和Matlab对照表

原标题:Python和Matlab对照表Matlab vs. Python Create OperationMatlabPython1d array: size (n, )Not possibleA

原标题:Python和Matlab对照表


Matlab vs. Python


Create













































OperationMatlabPython
1d array: size (n, )Not possibleA = np.array([1, 2, 3])
Row vector: size (1, n)A = [1 2 3]A = np.array([1, 2, 3]).reshape(1, 3)
Column vector: size (n, 1)A = [1; 2; 3]A = np.array([1, 2, 3]).reshape(3, 1)
Integers from j to n with step size kA = j:k:nA = np.arange(j, n+1, k)
Cr文章来源地址4772.htmleate a matrixA = [1 2; 3 4]A = np.array([[1文章来源地址4772.html, 2], [3, 4]])
Uniform random numbersA = rand(2, 2)A = np.random.rand(2, 2)
random intrandperm(5)shuffle(range(5));
np.random.permutation(5)


Manipulating Vectors and Matrices
















































































OperationMatlabPython
TransposeA.’A.T
Complex conjugate transpose (Adjoint)A’A.conj()
ReshapeA = reshape(1:10, 5, 2)A = A.reshape(5, 2)
Convert matrix to vectorA( : )A = A.flatten()
Repeat matrixrepmat(A,www.yii666.com 3, 4)np.tile(A, (4, 3))
Preallocating/Similarx = rand(10);
y = zeros(size(x, 1), size(x, 2))
x = np.random.rand(3, 3);
y = np.empty_like(x)
# new dimsy = np.empty((2, 3))
Cat stringA=[‘str1’,‘str2’];A=‘str1’+‘str2’
SplitB=split(A,‘-’)B=A.split(‘-’)
concatenateC=[A,B];
C=cat(2,A,B);
C=[A;B]
C=np.append(A,B,axis=1) # 只可以拼接两个; C=np.concatenate((A,B),aixs=1) # 可以拼接多个; C=np.hstack((A,B)) (适用于三个以上, 横向拼接); C=np.vstack((A,B)) (竖向拼接);
swap axispermute(A,[2,1,3])transpose(A,[2,1,3])
Seed settingrng(5)np.random.seed(5)
reduce dimensionsqueeze(A)np.squeeze(A, axis=0)
Increase dimensionA2(:,:,1) = AA2= A(:,:,np.newaxis)
Set operationintersection(A,B);
union(A,B);
setdiff(A,B)
list(set(A)&set(B))
list(set(A)|set(B))
list(set(A)-set(B))


Accessing Vector/Matrix








































OperationMatlabPython
Get dimensions of matrix[nrow ncol] = size(A)nrow, ncol = np.shape(A)
Step slicingA(1:2:6)A[1:7:2]
Shape/Sizesize(A,1)np.size(A,0), A.size # 不加维度是所有元素个数
np.shape(A)[0], A.shape[0] # shape返回的是一个tuple
SelectA(A>0)=[];A[A>0]=[];
indexA(2)A[2]
deleteA(1:100)=[];np.delete(A,np.s_[1:100],axis=0)


Mathematical Operations




























































OperationMatlabPython
Matrix multiplicationA * BA @ B
Element-wise multiplicationA .* BA * B
Matrix to a powerA.^2A**2
Inverseinv(A) A^(-1)np.linalg.inv(A)
min of each columnmin(A, [], 1)np.amin(A, 0)
min of entire matrixmin(A( : ))np.amin(A)
argmaxvec2ind(A)argmax(A,axis=0)
Memebrismember(A,B)np.isin(A,B)
Counttabulate(A)from collections import Counter
Counter(A)
roundingceil(A); around(A); floor(A); fix(A)np.ceil(A)
np.around(A)
np.floor(A)
np.fix(A)


Programming






























OperationMatlabPython
Comment block%{ Comment block %}# Block # comment # following PEP8
Function: anonymousf = @(x) x^2f = lambda x: x**2
logical expressionif a == 1 or b == 3:if a == 1
Output omitting~__


System

























OperationMatlabPython
Clear console commandclcclear
Clear varclear name1, name2del name1, name2
clear allclearreset


Mawww.yii666.comtlab与python的计数方向不同


  • matlab是按竖向计算, python是横向

>> A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3
4 5 文章来源站点https://www.yii666.com/ 6
7 8 9
>> reshape(A,[1,9])
ans =
1 4 7 2 5 8 3 6 9

In [91]: A=np.array([[1,2,3],[4,5,6],[7,8,9]]) #注意matlab初始化的不同
In [92]: np.reshape(A,[1,9])
Out[92]: array([[1, 2, 3, 4, 5, 6, 7, 8, 9]])

来源于:Python和Matlab对照表


推荐阅读
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • 本文介绍了利用ARMA模型对平稳非白噪声序列进行建模的步骤及代码实现。首先对观察值序列进行样本自相关系数和样本偏自相关系数的计算,然后根据这些系数的性质选择适当的ARMA模型进行拟合,并估计模型中的位置参数。接着进行模型的有效性检验,如果不通过则重新选择模型再拟合,如果通过则进行模型优化。最后利用拟合模型预测序列的未来走势。文章还介绍了绘制时序图、平稳性检验、白噪声检验、确定ARMA阶数和预测未来走势的代码实现。 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 本文介绍了一个Python函数same_set,用于判断两个相等长度的数组是否包含相同的元素。函数会忽略元素的顺序和重复次数,如果两个数组包含相同的元素,则返回1,否则返回0。文章还提供了函数的具体实现代码和样例输入输出。 ... [详细]
  • Python的参数解析argparse模块的学习
    本文介绍了Python中参数解析的重要模块argparse的学习内容。包括位置参数和可选参数的定义和使用方式,以及add_argument()函数的详细参数关键字解释。同时还介绍了命令行参数的操作和可接受数量的设置,其中包括整数类型的参数。通过学习本文内容,可以更好地理解和使用argparse模块进行参数解析。 ... [详细]
  • 第七课主要内容:多进程多线程FIFO,LIFO,优先队列线程局部变量进程与线程的选择线程池异步IO概念及twisted案例股票数据抓取 ... [详细]
  • 前言:拿到一个案例,去分析:它该是做分类还是做回归,哪部分该做分类,哪部分该做回归,哪部分该做优化,它们的目标值分别是什么。再挑影响因素,哪些和分类有关的影响因素,哪些和回归有关的 ... [详细]
  • 原文链接:Python:获取“3年前的今天”的日期时间Python:getdatetimefor3yearsagotoday在Python中,如何获取3年前的今天的datetime ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
author-avatar
实事求是2502932297
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有