在 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
命令
我在这里浏览过答案,但没有成功。我有以下类型的代码:
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
命令