您可以使用MATLAB的randperm函数生成随机排列。不幸的是,randperm函数效率很低,因为它是通过对随机数列表进行排序来实现的。这需要时间O(n * log(n))。使用Knuth shuffle算法,这个操作只需要时间O(n)。这个包实现了Knuth shuffle。用法:只需使用randpermquick(n)而不是randperm(n)。请注意,在使用randpermquick之前,必须先编译文件randpermquick_helper.c