我想定义一个返回随机数的函数:
gnuplot> rnd() = int(rand(0)*2**24)
^
invalid command
我需要添加参数x
来停止错误消息:
gnuplot> rnd(x) = int(rand(0)*2**24)
是否可以定义不带参数的函数?
答案 0 :(得分:3)
我认为不可能(查看help user-defined
中函数的语法)。据我所知 - 使用rand
是唯一有用的时间 - 在所有其他情况下,你的“函数”只会评估为常量。我猜gnuplot devs只是没有想到这个(有趣的)角落情况,或者他们认为它没有用到实现。
我希望我对此错了,其他人也来了并证明了这一点,但我不认为我是。我认为最简单的解决方法是只传递一个参数,就像你已经提到过的那样。如果你真的不喜欢它,你可以使用宏:
set macro
rnd="(int(rand(0)*2**24))"
print 5+@rnd