【问题标题】:Matlab matrix division into python [duplicate]Matlab矩阵划分成python [重复]
【发布时间】:2018-03-11 22:14:10
【问题描述】:

我对 matlab 中的正确划分感到很困惑。

m = [1 2 3 4 ; 5 6 7 8]
x = m/sum(m)

x = 
0.2907
0.7093

不知道matlab是怎么得到这个结果的,明明x * sum(m)不等于m,在python中怎么做呢?

【问题讨论】:

标签: python matlab matrix


【解决方案1】:

由于您没有使用element-wise division,因此您执行的操作等于为x 求解xA = B,其中A = mB = m_sum(参见mrdivide):

m = [1 2 3 4; 5 6 7 8];
m_sum = sum(m);
x = m / m_sum;

也可以写成:

m = [1 2 3 4; 5 6 7 8];
m_sum = sum(m);
x = mrdivide(m,m_sum);

使用Numpy 库的Python 等效项将是:

import numpy as np

m = np.matrix('1 2 3 4; 5 6 7 8')
m_sum = np.sum(m, axis=0)
x = np.dot(m, np.linalg.pinv(m_sum))

【讨论】:

    猜你喜欢
    • 2011-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    相关资源
    最近更新 更多