Scilab语法:如何在不使用中间变量的情况下进行转置和重塑?

时间:2012-11-28 12:21:18

标签: syntax scilab

让我们以矩阵A为例:

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

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

我可以转置这个矩阵:

-->A'
 ans  =

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

...我可以将这个矩阵重塑为一个列:

-->A(:)
 ans  =

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

...但我不能在一行中转置和重塑或不使用中间变量:

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

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

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

有没有办法在没有中间变量的情况下实现这个目标?

1 个答案:

答案 0 :(得分:3)

虽然转置运算符似乎没有等效的(:)语法关键字:matrix

所以A(:)的等价物将是matrix(A,1,-1),这样你就可以重塑为1列和'多少'行(-1参数)。因此,如果您将A'输入其中,则会按所需顺序获取行向量

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

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

这也适用于共轭转置算子(A.')。