如何在gnuplot中定义没有参数的函数?

如何在gnuplot中定义没有参数的函数?,gnuplot,Gnuplot,我想定义一个返回随机数的函数: gnuplot> rnd() = int(rand(0)*2**24) ^ invalid command 我需要添加一个参数x,以停止错误消息: gnuplot> rnd(x) = int(rand(0)*2**24) 可以定义没有参数的函数吗?我认为这是不可能的(请查看帮助用户定义的中函数的语法)。据我所知——使用rand是唯一有用的方法——在所有其他情况下,“函数”的计算结果都是常数。我猜gnuplot

我想定义一个返回随机数的函数:

gnuplot> rnd() = int(rand(0)*2**24)
         ^
         invalid command

我需要添加一个参数
x
,以停止错误消息:

gnuplot> rnd(x) = int(rand(0)*2**24)


可以定义没有参数的函数吗?

我认为这是不可能的(请查看
帮助用户定义的
中函数的语法)。据我所知——使用
rand
是唯一有用的方法——在所有其他情况下,“函数”的计算结果都是常数。我猜gnuplot开发人员只是没有想到这个(有趣的)角落案例,或者他们认为它没有足够的实用性来实现

我希望我在这个问题上是错的,其他人会来证明这一点,但我不认为我是错的。我认为最简单的解决方法就是传递一个参数,正如您已经提到的。如果您确实不喜欢,可以使用宏:

set macro
rnd="(int(rand(0)*2**24))"
print 5+@rnd