在矩阵中旋转列和行

时间:2016-12-01 19:29:40

标签: matlab

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

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

并想要旋转所有行n = 1,它应该给我

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

该程序应适用于每个n x n矩阵,并且还应该可以旋转列。

1 个答案:

答案 0 :(得分:4)

您可以使用circshift将所有行向下移动

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

第二个输入指定要在第一个(行)和第二个(列)维度中应用的移位。在您最初的情况下,因为您不想移动列,我们将其保留为零。

如果我们想要将行换1,将列换2,我们可以这样做:

R = circshift(A, [2 1])