首页 > 技术文章 > matlab下打乱数组顺序

andrew-address 2020-06-07 15:51 原文

原文链接

一:问题

     有两个规模相同的数组,两个数组相同位置的元素一一对应,现在要将两数组的元素同时打乱顺序,并且乱序后的两数组对应位置元素要保持乱序前的对应关系。

二:方法 

      采用randperm()函数,产生随机种子,然后按随机种子重新排序,即得到排序后的数组。

三、实例

>> A=rand(5,2)

A =

    0.1232    0.1982
    0.5044    0.6723
    0.3473    0.4315
    0.0921    0.6944
    0.1478    0.2568

>> randIndex = randperm(size(A,1))

randIndex =

     1     3     2     5     4

>> A_new=A(randIndex,:)

A_new =

    0.1232    0.1982
    0.3473    0.4315
    0.5044    0.6723
    0.1478    0.2568
    0.0921    0.6944

  

推荐阅读