在 Matlab 中置换向量

Permuting vector in Matlab

我在这里浏览过答案,但没有成功。我有以下类型的代码:

matrix = [1, 2, 3]';

   for start = 1:3

       if start == 1
          % nothing happens
       elseif start == 2
          matrix = [matrix(2),matrix(3),matrix(1)]'
       elseif start == 3
          matrix = [matrix(3),matrix(1),matrix(2)]'
       end

   end

我想更改它以便我可以将它用于比这里的矩阵长得多的向量,因此我想以更通用的形式编写它。 (换句话说,我希望能够从向量中的任何值开始,一直到向量的末尾,然后再次从头开始直到该值。)

可能性 1) matrix = [matrix(start:end);matrix(1:start-1)]

可能性 2) circshift 命令