set multiplot layout 2,2 fourier(k, x) = sin(3./2*k)/k * 2./3*cos(k*x) do for [power = 0:3] { TERMS = 10**power set title sprintf("%g term Fourier series",TERMS) plot 0.5 + sum [k=1:TERMS] fourier(k,x) notitle } unset multiplot
繰り返しは、以下のような書式による繰り返し指定で制御します。
for [<var> in "string of N elements"]
または
for [<var> = <start> : <end> { : <increment> }]
最初の書式では <var> は文字列変数で、その後ろに指定した文字列に含まれ る 1 番目から N 番目までの単語文字列を順に値として取ります。 2 番目の書式では、<start>, <end>, <increment> は整数、または整数値を取 る数式です。
一つの例外を除いて、gnuplot の変数は大域的です。 名前で添字づけされた、永続的で有効な変数のリストが一つだけあり、変数の 割り当ては、そのリストに項を生成するか、または項の置き換えにより行われ ます。変数をそのリストから削除するただ一つの方法は、undefine コマン ドを使うことです。
これのただ一つの例外は、繰り返し指定で用いられる変数です。繰り返し変数 の有効範囲 (scope) は、その繰り返しの中だけですから、その値を、繰り返 しの実行ブロック内から永続的に変更することはできません。繰り返し変数が 繰り返しの前に値を持っていたとしたら、その値は繰り返しの終了時に保持、 または復帰されます。 例えば、以下のコマンドは、1 2 3 4 5 6 7 8 9 10 A を出力します。
i = "A" do for [i=1:10] { print i; i=10; } print i
竹野茂治@新潟工科大学