Gnuplot 为每次运行设置不同的种子

Gnuplot 为每次运行设置不同的种子,gnuplot,Gnuplot,我有一个函数的绘图,它使用rand0生成0到1之间的数字 我想在每次运行Gnuplot脚本时设置一个不同的随机序列。 文档中说to使用randx,其中x是正整数 我试过这个 rand(floor(10*acos(rand(0)))) 这将为每次执行提供一个整数。 然而,这一行给了我一个错误。我还没有找到任何树立兰德公司种子的例子 如何每次设置不同的种子以获得不同的地块 关于如果每次启动gnuplot时需要看起来不同的随机数集,可以使用time0函数为随机数生成器设定种子。使用: rand(ti

我有一个函数的绘图,它使用rand0生成0到1之间的数字

我想在每次运行Gnuplot脚本时设置一个不同的随机序列。 文档中说to使用randx,其中x是正整数

我试过这个

rand(floor(10*acos(rand(0))))
这将为每次执行提供一个整数。 然而,这一行给了我一个错误。我还没有找到任何树立兰德公司种子的例子

如何每次设置不同的种子以获得不同的地块


关于

如果每次启动gnuplot时需要看起来不同的随机数集,可以使用time0函数为随机数生成器设定种子。使用:

rand(time(0))

第一次开始。然后在脚本的其余部分使用rand0。

如果每次启动gnuplot时都需要看似不同的随机数集,可以使用time0函数为随机数生成器种子。使用:

rand(time(0))
第一次开始。然后在脚本的其余部分使用rand0。

您必须实际使用打印返回值,或者将其分配给一个变量,即带有正整数参数的rand函数,以为生成器种子

print rand(-1)
print rand(0)
print rand(-1)
print rand(0)
print rand(5)
print rand(0)
rand-1或重新启动gnuplot将种子重置为标准值。我想,你想要的是能够设置一个伪随机种子。通常的方法是使用当前时间和日期:

 print rand(time(0))
 plot ..... something using the rand(0) function
如果参数是整数,则time返回unix时间(以整数秒为单位),否则返回精度为~微秒的实数。因此,以小于1s的速率重新运行脚本有时会得到两个相同的绘图。你可以做一些像randinttime0*1000这样的事情来防止这种情况发生,尽管我无法想象为什么有必要这样做-

您必须实际使用打印返回值,或将其分配给带有正整数参数的rand函数变量,以对生成器进行种子设定

print rand(-1)
print rand(0)
print rand(-1)
print rand(0)
print rand(5)
print rand(0)
rand-1或重新启动gnuplot将种子重置为标准值。我想,你想要的是能够设置一个伪随机种子。通常的方法是使用当前时间和日期:

 print rand(time(0))
 plot ..... something using the rand(0) function

如果参数是整数,则time返回unix时间(以整数秒为单位),否则返回精度为~微秒的实数。因此,以小于1s的速率重新运行脚本有时会得到两个相同的绘图。你可以做一些像randinttime0*1000这样的事情来防止这种情况发生,尽管我无法想象为什么有必要这样做-

你的错误是什么?你只是想看看你能得到什么?然后你需要打印randfloor10*acosrand0。顺便说一句,这只是一种复杂的方法来获得一组不同的相同随机数序列。退出gnuplot,重新启动它,您将再次获得这组新的随机数。@DanSp。你是对的。如果我将rand4写入脚本,它会告诉我第0行:无效命令。从终端中的交互式Gnuplot执行打印时,它会给我相同的数字0.99…如果我从终端运行脚本,每次运行的绘图都是相同的。有人知道在带参数运行时rand返回的值吗!=0表示?@Karl在gnuplot终端中键入help random,它会告诉您。@DanSp。不,没有。参数的返回值=未解释0。您的错误是什么?你只是想看看你能得到什么?然后你需要打印randfloor10*acosrand0。顺便说一句,这只是一种复杂的方法来获得一组不同的相同随机数序列。退出gnuplot,重新启动它,您将再次获得这组新的随机数。@DanSp。你是对的。如果我将rand4写入脚本,它会告诉我第0行:无效命令。从终端中的交互式Gnuplot执行打印时,它会给我相同的数字0.99…如果我从终端运行脚本,每次运行的绘图都是相同的。有人知道在带参数运行时rand返回的值吗!=0表示?@Karl在gnuplot终端中键入help random,它会告诉您。@DanSp。不,没有。参数的返回值=没有解释0。@AaronBrick什么奇怪?我是说gnuplot的行为。被接受的答案没有提到为什么普通的randtime0不起作用,不像Dan Sp.所展示的那样。谢谢你指出需要印刷品。好的。如果是一个函数,如果你把它作为一个单独的命令使用,gnuplot只会给你一个错误并停止。@AaronBrick什么奇怪?我是说gnuplot的行为。被接受的答案没有提到为什么普通的randtime0不起作用,不像Dan Sp.所展示的那样。谢谢你指出需要印刷品。好的。如果是一个函数,如果你把它作为一个单独的命令使用,gnuplot只会给你一个错误并停止。