我在gnuplot中创建了13个参数的任何函数,就像那个
r2adr(C,H,T,P,S,E2,E3,B,B2,ELE,ele2,d,d2)的
当我运行gnuplot时,发生了错误。 第146行:函数包含太多参数 当我将纪录减少12点时,它很好。
我的问题是如何增加参数的数量? 是否需要在源代码级别编译或者是否有任何gnuplot命令可用?
谢谢,
答案 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