Matlab A( :, 1)' 和 A(:) 的 Python 等效项

标签 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 中意味着什么?

最佳答案

让我们定义一个示例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 。这里的 X = A(:,1)' 已经被展平了,即它是一个 row 向量,所以 X(:) 只是转置它转化为列向量;它与X.'相同:

>> X(:)
ans =
     1
     4

>> X.'
ans =
     1
     4

关于Matlab A( :, 1)' 和 A(:) 的 Python 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53402757/

相关文章:

python - 如果 pandas 中已知列(或索引),如何返回值的索引(或列)标签

image - MATLAB 中的涟漪效应

python - python librosa.core.stft() 和 matlab spectrogram(x) 的输出之间的区别

MATLAB vec2mat 的 Python 等效代码

python - 映射数组中满足条件的位置

python - Pandas/SQL-根据不同Group计算百分比

python - 如何在 Python 中使用 Selenium-chromeDriver 在 Chrome 中打开新标签页

python - 使用 Jupyter Notebook 使用 python 从存储在 azure 容器中的 zip blob 中提取特定文件

matlab - 将 3D 数据点转换为 matlab 中的标准化(2D)图形点

python - 减去两个数组,只保留另一个没有数据的值