小编use*_*845的帖子

我如何进行随机交换但是对该数字从其原始位置移动的距离施加限制?

一组20个数字已存储在矢量中d,例如:

d = [ 5 6 7 8 9 ....]
Run Code Online (Sandbox Code Playgroud)

我用

i = randperm(length(d));
d = d(i);
Run Code Online (Sandbox Code Playgroud)

随机改组矩阵内的数字.

但是,我需要找到一种限制随机播放的方法,以确保数字不会从原始位置移动到"5"以上的位置?

意思是如果最初d(2) = 6,最终的位置6应该只移动d(1)d(2+5).

注意,d(1)因为数字不能移动到负面位置.

任何有关这方面的帮助将不胜感激!另外,如果有一个更有效的洗牌方式,请告诉我!

matlab

6
推荐指数
1
解决办法
125
查看次数

标签 统计

matlab ×1