C言語でおなじみのfor文を用いてwaveを複数作成する方法を述べる。
後で参照しやすいようにwave名も工夫する。

新規でプロシージャを作成し,for文の構文を確認する。

以下の関数test()を作成する。

Function test() //testという関数作成
    Variable i //変数定義
    for(i=0;i<5;i+=1) //i=0からi<5まで+1ずつ増加
        print i   //iの値を出力
        print “wave”+num2str(i) //数値変数iを文字列に
    endfor  //for文終了
End    //関数終了

print “wave”+num2str(i)について補足。
num2strというコマンドを利用して,数値変数iを文字列に変換する。
そして”wave”という文字列の後につなげることで,
wave1,wave2,…wave9となるようにし,画面に出力する。

エクスペリメントプロシージャでtest()を実行後の結果は次のようになる。

for文の確認

for文の確認

これを踏まえて,waveの作成を行う。

waveの作成はMakeというコマンドを用いる。
Make /N=10 wave2
とすることで,wave2という名前で10行のwaveが作成される。
ここで,先ほど述べたことを応用して,
Make /N=10 $(“wave”+num2str(i))
とする。
$というのは,“文字列をwaveの参照に変換する”コマンドである。
http://www.hulinks.co.jp/support/igor/programming/p_0313.html

作成したwaveをテーブルに追加する。
AppendToTable /O $(“wave”+num2str(i))

次のようにtestという関数を作成する。
Function test()
   Variable i  //変数定義
   for(i=0;i<5;i+=1) //i=0からi<5まで+1ずつ増加
       Make /N=8 /O $(“wave”+num2str(i))  //waveの作成
       AppendToTable /O $(“wave”+num2str(i)) //waveをテーブルに追加
    endfor   //for文終了
End

実行後の結果は次のようになる。

for文を利用したwaveの作成

for文を利用したwaveの作成