2012-06-02 57 views
2

我想定义它返回一个随机数的函数:如何在gnuplot中定义一个没有参数的函数?

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

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

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

是否有可能定义一个没有参数的函数?

回答

3

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

我希望我对此有错,有人会来证明它,但我不认为我是。我认为最简单的解决方法就是像上面提到的那样传递一个参数。如果你真的不喜欢那样,你可以使用宏:

set macro 
rnd="(int(rand(0)*2**24))" 
print [email protected] 
相关问题