[已解决] matlab Linux机房版2020Rb randperm函数不随机

[复制链接]
majundatiancai 发表于 2022-7-14 19:19:04
我在linux服务器上用matlab机房版2020Rb 的randperm函数:
order = randperm(10)
disp(order)

显示结果如下:
6      6     3     7     8     5     1     2     4     9    10
6      6     3     7     8     5     1     2     4     9    10


会出现两行,并且再一次执行randperm(10),也是上面的结果,请问有大神知道是怎么回事吗? 是不是缓存没清理?我提交的slurm的作业

最佳答案


TouAkira 发表于 2022-7-15 16:23:22
majundatiancai 发表于 2022-7-14 22:08
两种都是,首先每次都会出现两行一模一样的,其次 randperm这个函数产生的是固定的随机,比如 randperm( ...

①你这连基础知识都没搞明白,去看 disp函数(超链接,自己点进去看) 帮助文档,在你代码里它相当于个复写纸,所显示的两行内容如果不一样才奇怪了
②执行前自己用 rng函数(超链接,自己点进去看) 改种子值,如果不同种子值仍然返回上述序列,那就是你的 randperm 出问题了

3 条回复


TouAkira 发表于 2022-7-14 19:55:30
你这表述至少有两种理解
①每次运行都出现同样的两行,或者
②每次的序列都是6      6     3     7     8     5     1     2     4     9    10
你得讲清楚到底是哪种

majundatiancai 发表于 2022-7-15 10:08:05
TouAkira 发表于 2022-7-14 19:55
你这表述至少有两种理解
①每次运行都出现同样的两行,或者
②每次的序列都是6      6     3     7     8   ...

两种都是,首先每次都会出现两行一模一样的,其次 randperm这个函数产生的是固定的随机,比如 randperm(10)运行多次永远都是6     3     7     8     5     1     2     4     9    10

TouAkira 发表于 2022-7-15 16:23:22
majundatiancai 发表于 2022-7-14 22:08
两种都是,首先每次都会出现两行一模一样的,其次 randperm这个函数产生的是固定的随机,比如 randperm( ...

①你这连基础知识都没搞明白,去看 disp函数(超链接,自己点进去看) 帮助文档,在你代码里它相当于个复写纸,所显示的两行内容如果不一样才奇怪了
②执行前自己用 rng函数(超链接,自己点进去看) 改种子值,如果不同种子值仍然返回上述序列,那就是你的 randperm 出问题了
回复此楼
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表