2016-12-01 185 views
2

如何将矩阵中的列和行旋转n次。例如: 如果我有矩阵旋转矩阵中的列和行

A= [1,2,3; 
    4,5,6; 
    7,8,9] 

,并要旋转的所有行N = 1,就应该给我

R= [7,8,9; 
    1,2,3; 
    4,5,6]. 

程序应该为每个n×n的矩阵工作,它也应该是可能的旋转列。

回答

4

可以使用circshift到所有的行的下移一个

R = circshift(A, [1 0]); 

第二输入指定所述第一(行)应用该移位和第二(列)的尺寸。在你最初的情况下,因为你不想转移列,所以我们把它作为零。

相反,如果我们希望通过1行和列2,我们可以做的转向:

R = circshift(A, [2 1]) 
+0

谢谢!你有什么想法,我怎么能创造一个完全一样的circshift功能,但没有使用circshift? – zer0kai

+0

@ zer0kai你可以使用'mod'来改变行和列的索引 – Suever