适用于Matlab A(:,1)'和A(:)的Python

时间:2018-11-20 22:49:06

标签: python matlab numpy

我正在将MATLAB代码转换为Python Numpy。我指的是这个文件 http://scipy.github.io/old-wiki/pages/NumPy_for_Matlab_Users

下面是两条MATLAB行,

X = A(:,1)'; 
R = repmat(X(:),1,6); 

其中A是二维矩阵

这是我转换后的python行

X = A[:, 1].conj().transpose()
R = np.tile(X[:], (1,6))

我有两个查询,

  1. X = A(:,1)';-在这一行中,引号(')指的是.conj().transpose()
  2. 这个X[:]正确地等同于X(:)还是X.flatten(1)

更清楚地说,实际上我是在试图理解MATLAB代码,

  1. X = A(:,1)';-在这一行中,引号(')是指转置吗?
  2. X(:)-在MATLAB中意味着什么?

1 个答案:

答案 0 :(得分:3)

让我们定义一个示例<input type="text" placeholder="Name" autofocus>

A

>> A = [1 2 3; 4 5 6]; conjugate transpose。仅使用'即可transpose

.'

>> A(:,1) ans = 1 4 >> X = A(:,1)' X = 1 4 的意思是reshape (flatten) into a column vector(:)在这里已经变平,即它是一个 row 向量,因此X = A(:,1)'只是将其转置为列向量;它与X(:)相同:

X.'