Mathematica 简单的洗牌算法生成5*5注意力训练矩阵

应用场景

  • 可以用来生成 5*5的矩阵,用来训练注意力

  • 舒尔特方块”。舒尔特方格是全世界最简单有效,并且最科学的专注力训练法。你需要做的就是在最短的时间里,按顺序从1数到10

  • 我们的目标就是对1-25进行洗牌,这样每次都能生成新的矩阵

相关游戏界面

算法思路

  • 参考python洗牌算法
  • 先生成一个25个数的a列表
  • 新建一个列表b
  • 生成随机数p
  • 以随机数为索引,引用a列表中的元素,附加到b列表
  • 然后从a列表中删除该元素
  • 进入循环,反复附加到新列表,删除旧列表,直到a中参数为0

代码如下

ClearAll[a, b, p, b]
a = Range[25];
b = {};
While[Length[a] > 0,
 l = Length[a];
 p = RandomInteger[{1, l}];
 b = AppendTo[b, a[[p]]];
 (*Print[a];*)a = Drop[a, {p}]]
ArrayReshape[b, {5, 5}] // MatrixForm

计算结果

image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容