gnuplot函数中的参数个数

时间:2016-05-18 09:23:38

标签: function arguments gnuplot

我在gnuplot中创建了13个参数的任何函数,就像那个

r2adr(C,H,T,P,S,E2,E3,B,B2,ELE,ele2,d,d2)的

当我运行gnuplot时,发生了错误。  第146行:函数包含太多参数 当我将纪录减少12点时,它很好。

我的问题是如何增加参数的数量? 是否需要在源代码级别编译或者是否有任何gnuplot命令可用?

谢谢,

2 个答案:

答案 0 :(得分:1)

根据文件,12是限制。我不认为有一种简单的方法可以改变它。我想你只需要减少参数的数量,例如通过使用一些常量或传递函数作为参数:

而不是带有4个参数的函数:

gnuplot> f(a1,a2,a3,a4)=(a1*a2)/(a3*a4)
gnuplot> plot f(x,1,2,3)

用2个参数编写相同的函数:

gnuplot> b1(a1,a2)=a1*a2
gnuplot> b2(a3,a4)=a3*a4
gnuplot> f(b1,b2)=b1/b2
gnuplot> plot f(b1(x,1),b2(2,3))

答案 1 :(得分:0)

如果某些参数对应于具有已知列号的数据文件中的列,则您的函数可以使用column来访问它们,而不将它们作为参数传递。

,而不是

f(x,y,z,a)=x*y/z**a
plot for [a=1:2] "f.gdat" using 1:(f($1,$2,$3,a)) title "a=".a

你可以这样做:

COL_X=1
COL_Y=2
COL_Z=3
f(a)=column(COL_X)*column(COL_Y)/column(COL_Z)**a
plot for [a=1:2] "f.gdat" using 1:(f(a)) title "a=".a