美文网首页
MATLAB 与 python 常用函数对比

MATLAB 与 python 常用函数对比

作者: 奋斗的喵儿 | 来源:发表于2020-09-10 10:51 被阅读0次

    学完python基础知识、numpy及pandas和可视化之后,终于下决心将MATLAB代码用python再写一遍了,简单总结该过程中遇到的问题及常用函数。

    函数基本都是用的numpy库,数据是ndarray

    1、按列堆叠数组   

    MATLAB: [a, b]  

    numpy:  np.hstack((a,b));    np.concatenate([a, b], axis=1);    np.c_[a, b]

    pandas: pd.concat([a, b], axis=1)

    2、按行堆叠数组

    MATLAB: [a; b]  

    numpy:  np.vstack((a,b));    np.concatenate([a, b], axis=0);    np.r_[a, b]

    pandas: pd.concat([a, b], axis=0)

    3、重复行或列

    a 重复m行n列

    MATLAB:  repmat(a, m, n )

    numpy: np.tile(a,(m,n))

    4、按原顺序去重

    MATLAB:unique(a, 'stable')

    numpy:   a[np.sort(np.unique(a, return_index=True)[1])]

    np.unique(a) 是去重后进行排序,后面语句输出的是排序索引,按索引排序就是原顺序

    5、从大到小排序

    MATLAB:sort(a, 'descend');

    numpy: np.sort(a)[::-1]

    np.sort() 没有从大到小排序,自动从小到大排序再倒序

    6、平均值

    MATLAB:  mean(a)-每列平均值   mean(a,1)-每列平均值   mean(a,2)-每行平均值

    python: a.mean() -所有值的平均值  a.mean(axis=0) -列平均  a.mean(axis=1) -行平均

    7、协方差

    MATLAB: cov(a)

    numpy: np.cov(a, rowvar=False)

    pandas: a.cov()

    8、一维数组转置

    a.reshape(a.shape[0], 1)

    a.reshape(-1,1)

    9、矩阵运算

    MATLAB:  a\b   

    numpy:  np.linalg.solve(a, b)

    10、特征值和特征向量

    MATLAB:  [eigenvector, eigenvalue]=eig(a)

    numpy:   

    # 特征值和特征向量 非对称阵 用eig

    eigenvalue, eigenvector = np.linalg.eig(a)

    # 对称矩阵 用eigh 速度更快

    eigenvalue, eigenvector = np.linalg.eigh(a)

    相关文章

      网友评论

          本文标题:MATLAB 与 python 常用函数对比

          本文链接:https://www.haomeiwen.com/subject/xcxyektx.html