我正在将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))
我有两个查询,
X = A(:,1)';
-在这一行中,引号(')指的是.conj().transpose()
X[:]
正确地等同于X(:)
还是X.flatten(1)
?更清楚地说,实际上我是在试图理解MATLAB代码,
X = A(:,1)';
-在这一行中,引号(')是指转置吗?X(:)
-在MATLAB中意味着什么? 答案 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.'