Bash中用作Python模拟种子的(伪)随机数组

2024-06-23 20:01:39 发布

您现在位置:Python中文网/ 问答频道 /正文

Bash脚本控制Python脚本(“主.py)需要随机种子才能运行。 为了得到模拟的几个实现,我希望每个都有一个随机随机种子。在

我想初始化(在Bash脚本中)一个随机的NEXP整数数组,但是我认为没有正确地初始化。实际上,我得到了一个错误的数组初始化。代码如下:

NEXP=10
array_seed = [$NEXP]
for j in `seq 0 1 $NEXP`; do
    array_seed[$j]=$RANDOM
    echo $array_seed[$j]
done

for A in `seq 0 0.1 1`; do          #A is a parameter of the simulation
    for i in `seq 0 1 $NEXP`; do    #10 realiz. of the process for each A
        SEED=$array_seed[$i]
        ./main.py $A $SEED > output-$A-$i.dat
        done
done

我得到的

^{pr2}$

问题1(已解决):我做错了什么?以及如何将$NEXP-1放入seq中以获得索引从0到NEXP-1的数组?我试着用双括号把它放了,但没用。在

回答(Jothan Chanes爵士):

^{3}$

问题2:这是解决独立实现模拟问题的好方法吗?我怎样才能减少模拟/实验之间的关联呢?在

问题3:最后,我是否也应该处理Bash伪随机生成器的种子?在

谢谢你!在


Tags: oftheinpy脚本bashfor数组
1条回答
网友
1楼 · 发布于 2024-06-23 20:01:39

我用bash4.2.45就行了

问题1:应该可以,只要bash和python中的随机数生成器不同。在

问题2:问题是什么?在

问题3:序列0 1$(($NEXP-1))

问题4:通过${array_seed[$i]}引用数组元素(可以在bash手册中找到)。在

问题5:如果你使用Linux,你可以读到“manurandom”。在

相关问题 更多 >

    热门问题