在 MATLAB 中,为什么我不能组合转置和冒号运算符?



在MATLAB中,我可以很容易地得到一个矩阵的元素的向量在列主顺序使用(:)操作符如下…

EDU>> A
A =
     1     2
     3     4
     5     6
EDU>> A(:)
ans =
     1
     3
     5
     2
     4
     6

然而,我想得到一个元素的向量,以行为主的顺序。所以我想在使用(:)之前,我应该对矩阵进行转置。但是我得到这个错误…

EDU>> A'(:)
 A'(:)
  |
Error: Unbalanced or unexpected parenthesis or bracket.

为什么'和(:)不在这里组合?我可以分两步完成,但我希望更简洁,避免额外的变量。

EDU>> B = A'
B =
     1     3     5
     2     4     6
EDU>> B(:)
ans =
     1
     2
     3
     4
     5
     6

为什么我不能通过组合' and(:)一步完成?正确的做法是什么?

谢谢,~查克

使用重塑或许

reshape(A',prod(size(A)),1)

最新更新