知识杂货铺

不卖切糕

View on GitHub
13 June 2017 02:03

Python学习 - MATLAB与numpy矩阵操作对比

by 宋强

创建矩阵

Matlab

m1 = [0, 3, 1;
      1,-1, 1;
      3,-1, 2]
m2 = [1 2 3;
      4 5 6;
      7 8 9]
m3 = [-1.1 1.5 1.3]

Python

m1 = mat([[0, 3, 1],
          [1,-1, 1],
          [3,-1, 2]])
m2 = mat([[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]])
m3 = mat([-1.1, 1.5, 1.3]) 
print(m1)
print(m2)
print(m3)

矩阵转置

Matlab

mT = m1'

Python

mT = m1.T
mT = m1.transpose()

矩阵求逆

Matlab

mI = inv(m1)

Python

mI = m1.I

矩阵元素级(element-wise)相加

Matlab

mSum = m1 + m2

Python

mSum = add(m1, m2)

矩阵元素级相减

Matlab

mSubtract = m1 - m2

Python

mSubtract = subtract(m1, m2)

矩阵元素级相乘

Matlab

mMultiply = m1.*m2

Python

mMultiply = np.multiply(m1, m2)

矩阵元素级相除

Matlab

mDivide = m1./m2

Python

mDivide = divide(m1, m2)

矩阵元素级取反

Matlab

mNegtive = -m1

Python

mNegtive = -m1
mNegtive = np.negative(m1)

矩阵元素级幂

Matlab

mPower = m1.^3
mPower = np.power(m1, 3)
tags: Python - numpy