データ解析のためのIgorPro活用術

マクロ機能を使ってみよう

大量のデータを系統的に解析処理するにはIgorProのマクロ機能を 使うと作業効率が向上します。 それではどのようにプログラムを作成すればいいのでしょうか。 ここではそのヒントを記述します。

たとえばCommand Windowに以下のコマンドを打ち込んでみましょう。

  Make/D wave0
  wave0=exp(-(x-64)^2/100)
  Display wave0
これらを実行すると以下のような画面が現れます。 もちろん1行目、3行目のコマンドは"Data"+"Make Waves.."でまず waveをつくり、次にガウス関数を"Windows"+"New Graph.."を用いて表示させる というようにメニューバーの項目から実行することもできます。

次にNewExperimentを実行して、 今度はメニューバーの"Windows"の"Procedure Window"を開いて (ショートカットはCtr+M です)以下のプログラムを打ち込んでみましょう。

  Macro test()
  Make/D wave0
  wave0=exp(-(x-64)^2/100)
  Display wave0
  endmacro
これは Macro test() ... endmacro の間に、先ほどのコマンドを加えたというものです。 これをコンパイルするとメニューバーの"macro"に"test"という項目が追加されます。 この項目を実行してやると先ほど表示されたグラフと全く同じものが表示されます。 つまり、マクロで用いられるコマンドはすべてCommand Windowに表示されたものであることがわかります。 メニューの項目から操作できることはすべて対応するコマンドがありますので、 まずはこれらを参考にして自分でいろいろマクロを作成してみてください。 さまざまなコマンドについての詳細はメニューバーの"Help"の中に"Command Help"を参考にしてください。

Macro, Function, Proc について

Macro :
一般的なプログラムはこの宣言文で行います。このマクロの名前は メニュー"Macros"に項目が増えます。
Proc:
一般的なプログラムはこの宣言文で行いますが、メニュー"Macros"に この名前の項目が増えません。またProcの文の中にMacroをサブプログラムとして 書き込むことはできません。
Function:
プログラムやUserが定義した関数をこの宣言文上で行います。 returnを用いると、対応する数値を出力します。 MacroやProcよりも実行速度は早い場合がありますのでできるだけ この宣言を用いることを進めます。なお Functionの中にMacroのサブプログラムとして書き込むことはできません。

これを知っておくと便利なコマンド
DoUpDate, PauseUpDate
iterate() - loop, i, j
Print
Prompt
silent
x, y, p, q

ここまで
最終更新日: 2003.1.13
一つ上の項目に戻る