matlab改变向量元素的位置

时间:2013-09-06 12:09:02

标签: matlab

我是Matlab的新手。我有一个向量v = [3 5 7 9 11]。我需要改变一些元素的顺序。例如:

v = [3 7 5 9 11] %// by moving "5" after "7" or
v = [3 5 9 7 11] %// by moving "9" before "7"

在Java中,我只需使用

即可
Collections.rotate(array.subList(new_index,old_index ),1);

MATLAB中是否有像Java这样的行代码?谢谢你的帮助。

2 个答案:

答案 0 :(得分:4)

是的,有:

v(new_index) = v(old_index);

其中new_indexold_index可以是向量。在您的示例中:

v([2 3]) = v([3 2]);
v([3 4]) = v([4 3]);

答案 1 :(得分:0)

不确定

>> v = [3 5 7 9 11];
>> v([1 3 2 4 5])    % moving "5" after "7" 
>> v([1 2 4 3 5])    % moving "9" before "7"