在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.
为什么不和'和(:)写在这里?我可以在2个步骤中完成,但我更愿意更简洁并避免额外的变量。
EDU>> B = A'
B =
1 3 5
2 4 6
EDU>> B(:)
ans =
1
2
3
4
5
6
为什么我不能通过编写'和(:)来做到这一点?什么是正确的方法来做到这一点?
感谢, 〜夹头
这基本上是[这个问题]的副本(http://stackoverflow.com/q/2724020/52738)。此外,[这个相关的问题](http://stackoverflow.com/q/3627107/52738)进一步说明索引操作符'()'不能遵循某些操作,除非你把它变成一个函数调用。 – gnovice 2013-05-02 17:46:42
谢谢,我的主要问题是关于索引操作符的第二点。有趣的是,Octave似乎没有受到这个问题的困扰。 – Chuck 2013-05-02 18:18:31