3

行列 A を例として使用します。

-->A = [1 2 3; 4 5 6]
 A  =

    1.    2.    3.  
    4.    5.    6.  

この行列を転置できます。

-->A'
 ans  =

    1.    4.  
    2.    5.  
    3.    6.  

...そして、この行列を 1 つの列に再形成できます。

-->A(:)
 ans  =

    1.  
    4.  
    2.  
    5.  
    3.  
    6.  

...しかし、1行で、または中間変数を使用せずに、転置して再形成することはできません:

-->A'(:)
     !--error 276 
Missing operator, comma, or semicolon.

-->B = A'; B(:)
 ans  =

    1.  
    2.  
    3.  
    4.  
    5.  
    6.  

中間変数なしでこれを達成する方法はありますか?

4

1 に答える 1

3

転置演算子には同等のキーワードがないように見えますが、(:)構文にはあります: matrix

したがって、1 列と 'ただし多く' の行 (-1 引数) に再形成するのA(:)と同等です。matrix(A,1,-1)したがって、それにフィードA'すると、行ベクトルが目的の順序で取得されます

-->matrix(A',1,-1)
 ans  =

    1.    2.    3.    4.    5.    6.

これは、共役転置演算子でも機能します ( A.')。

于 2012-12-05T17:50:01.663 に答える