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

1 行目は関数定義、2 行目は使用例です。詳細については、 gnuplot ドキュメントの「ユーザー定義の変数と関数」セクションを参照してください (「式」セクションの下にあります。「fi ' LaTeX によって生成された文字)。

于 2012-08-27T15:40:55.310 に答える
2

Pyxplot プロット パッケージhttp://pyxplot.org.ukを検討することを検討してください。このパッケージは gnuplot と非常によく似た構文 (クリーンアップされていますが) ですが、スクリプト言語の多くの機能も備えています。サブルーチンがあり、あなたが求めていることを正確に行う必要があります。

于 2012-08-29T23:12:25.783 に答える