変数や関数のファイルへの書き出し(save)

saveコマンドは設定(set)・ターミナル・変数・関数などを保存するのに使います。gnuplotのスクリプト中では設定やターミナルを保存するためにsaveコマンドを使うことはあまりないので、変数や関数を保存する場合について説明します。

saveしたファイルはloadコマンドで別のスクリプトから使用することができます。

変数の保存

save variables "***"コマンドで現在定義されている変数を***というファイルに保存できます。以下はtest.varという名前のファイルに変数を保存する例です。

a = 0.12345
b = 0.6789
save variables "test.var"

上記スクリプトを実行すると、以下のようなファイルtest.varができます。

#!/gnuplot
#
#    
#    	G N U P L O T
#    	Version 4.4 patchlevel 0
#    	last modified March 2010
#    	System: MS-Windows 32 bit 
#    
#    	Copyright (C) 1986-1993, 1998, 2004, 2007-2010
#    	Thomas Williams, Colin Kelley and many others
#    
#    	gnuplot home:     http://www.gnuplot.info
#    	faq, bugs, etc:   type "help seeking-assistance"
#    	immediate help:   type "help"
#    	plot window:      hit 'h'
GNUTERM = "wxt"
a = 0.12345
b = 0.6789
#    EOF

このように変数とその値が保存されていることが分かります。変数名以外の部分は#でコメントアウトされているため、このファイルを別のスクリプトからloadコマンドで呼び出すこともできます。

save variablesコマンドは、Fittingを行った結果を保存しておきたい場合などに有効です。

関数の保存

save functions "***"コマンドで現在定義されている関数を***というファイルに保存できます。以下はtest.funcという名前のファイルに変数を保存する例です。

f(x) = a0 + a1*x + a2*x**2 + a3*x**3
g(x) = b0 + b1*sin(x-x0)
save functions "test.func"

上記スクリプトを実行すると、以下のようなファイルtest.funcができます。

#!/gnuplot
#
#    
#    	G N U P L O T
#    	Version 4.4 patchlevel 0
#    	last modified March 2010
#    	System: MS-Windows 32 bit 
#    
#    	Copyright (C) 1986-1993, 1998, 2004, 2007-2010
#    	Thomas Williams, Colin Kelley and many others
#    
#    	gnuplot home:     http://www.gnuplot.info
#    	faq, bugs, etc:   type "help seeking-assistance"
#    	immediate help:   type "help"
#    	plot window:      hit 'h'
f(x) = a0 + a1*x + a2*x**2 + a3*x**3
g(x) = b0 + b1*sin(x-x0)
#    EOF

このように関数名とその定義が保存されていることが分かります。関数名以外の部分は#でコメントアウトされているため、このファイルを別のスクリプトからloadコマンドで呼び出すこともできます。

save functionsコマンドも、Fittingを行った結果を保存しておきたい場合などに有効です。