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

时间:2012-06-02 07:18:37

标签: gnuplot

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

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

我需要添加参数x来停止错误消息:

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

是否可以定义不带参数的函数?

1 个答案:

答案 0 :(得分:3)

我认为不可能(查看help user-defined中函数的语法)。据我所知 - 使用rand是唯一有用的时间 - 在所有其他情况下,你的“函数”只会评估为常量。我猜gnuplot devs只是没有想到这个(有趣的)角落情况,或者他们认为它没有用到实现。

我希望我对此错了,其他人也来了并证明了这一点,但我不认为我是。我认为最简单的解决方法是只传递一个参数,就像你已经提到过的那样。如果你真的不喜欢它,你可以使用宏:

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