3

有没有办法在 Gnuplot 中有过程(或类似 C 的函数)?我需要一些非常简单的东西,就像:

function func1()
{
 var1 = "string1";
 var2 = var1."string2";

 return var2;
}

使我的 gnuplot 脚本更加紧凑​​。

4

3 回答 3

4

Gnuplot 支持带参数的(简单)函数:

func1(x)=x."string2"

如果您使用的是 gnuplot 4.4,则可以创建更复杂的“内联”函数:

func1(x)=(var1=x, var2=var1."string2", var1.var2)  #returns x.x."string2"

在这种形式中,函数的最后一部分是返回var1.var2的 ( ) 并且语句从左到右进行评估。

如果你想拥有不接受参数的函数,你可以(经常)使用宏:

set macro
funcmacro='"string1"."string2"'
print @funcmacro
于 2012-08-27T15:28:55.877 回答
2

是的。您可以在 gnuplot 中使用类似的东西连接字符串

strcat(str1,str2) = sprintf("%s%s",str1,str2)
str3 = strcat("string1","string2"); print str3

第一行是函数定义,第二行只是一个使用示例。您可以在gnuplot 文档的“用户定义的变量和函数”部分阅读更多信息(它位于“表达式”部分下;您可能无法在 pdf 中搜索字符串“用户定义”,因为' 由 LaTeX 生成的字符)。

于 2012-08-27T15:40:55.310 回答
2

您可能需要考虑查看 Pyxplot 绘图包http://pyxplot.org.uk,它的语法与 gnuplot 非常相似(尽管经过了清理),但它也具有脚本语言的许多特性。它有子程序,应该完全按照您的要求进行。

于 2012-08-29T23:12:25.783 回答