gpt4 book ai didi

arrays - 随机排列矩阵

转载 作者:行者123 更新时间:2023-12-04 16:08:07 25 4
gpt4 key购买 nike

例如,我想创建一个由 x 列随机排列的矩阵,从 1 到 10。命令 randperm(10) 效果很好,但我想创建 x 个。

有没有不用循环的方法呢?谢谢,

最佳答案

我假设每个排列都应该以相同的概率生成并且独立于其他排列(因此某些排列可能恰好相同)。

要以向量化方式生成x 排列,您可以使用:

N = 10; % population
x = 5; % desired number of permutations
[~, result] = sort(rand(x,N), 2);

这给出了(示例):

result =
7 1 2 9 6 10 3 4 5 8
2 6 4 10 1 7 5 9 3 8
6 10 2 7 9 5 4 3 1 8
7 5 4 6 2 10 8 1 3 9
6 4 2 8 10 9 5 1 7 3

这是如何运作的

生成 1, ..., N一个排列的简单方法是

  • 生成 N 个随机数。
  • 对它们进行排序,并获取排序的索引。这些索引是整数 1, ..., N 的随机排列。

因此,以向量化方式生成 x 排列:

  • 生成 x-by-N 随机数矩阵。
  • 对每一行进行排序,并得到每次排序的索引。

关于arrays - 随机排列矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43160434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com