Igor:waveを読み込む

コメントをどうぞ


他のアプリケーションソフトで作成したデータファイルをIgorに読み込む方法を記述する。

例として,以下のようなcsvファイルを読み込む。

csvファイルの例

読み込むcsvファイルの例

読み込みには,
LoadWaveというコマンドを用いる。
csvファイルはテキストデータであるので,
/Jという“読み込み対象がテキストデータである”ことを意味するフラグを用いる。
また,読み込んだwaveをテーブルに表示させるために,
/E=2という“waveを既存のテーブルに追加し表示する”フラグを用いる。
/E=1は“新規のテーブルを作成しwaveを表示する”フラグ。

LoadWave /J /E=2

LoadWave実行

LoadWaveの実行

ファイルタイプとして,csv形式を選択すると,今回の読み込み対象である”Book1.csv”が表示されるため選択する。

読み込んだwaveのプレビューが表示される。

読み込んだwaveのプレビュー

読み込んだwaveのプレビュー

wave名を変更したり,スキップする行をしてしたりすることができる。
Loadをクリックすると,読み込んだwaveがテーブルに表示される。

waveの読み込みが完了し,テーブルに表示される。

waveの読み込み完了

細かい設定は,HULINKSのホームページに詳しい。
http://www.hulinks.co.jp/support/igor/reference/operations/LoadWave.html

広告

Igor : waveをファイルに保存する

コメントをどうぞ


前項では,waveを作成する方法を書いたが,本稿では,waveの内容をファイルに出力する方法を記述する。

ファイルに出力するプログラム

ファイルに出力するプログラム

Variable f1
によってファイル参照番号を格納する数値変数を定義する。
C言語で言うところのFILE *fpと同じである。
Open f1
によってファイル保存先を指定するダイアログがでてくる。
C言語では,f1=fopen(“sample.csv”, “w”);といった感じで記述する。
fprintf f1,”wave1, wave2, wave3\r”
f1で指定したファイルに”wave1, wave2, wave3″と出力する。
\rは「改行」を表す。
wfprintf f1, “%g, %g, %g\r” wave1, wave2, wave3
f1で指定したファイルにwave1とwave2とwave3の内容を出力する。
wfprintfはwaveの内容を出力するコマンドだ。
%gはint, float, doubleそれぞれ自動で認識してテキストとして出力する。
関数の実行結果,保存先を指定するダイアログがでてくる。

ファイル保存ダイアログ
ファイル保存ダイアログ

ここでは,abc.txtと指定した。
保存ファイルを開いた結果が下図である。

wave出力結果
wave出力結果

 

コマンドの詳細はHurinks社のWEBページに詳しい。

例えばOpenについては以下のリンクを参照
http://www.hulinks.co.jp/support/igor/reference/operations/Open.html

Igorプログラミング勉強:wave作成とグラフの見栄え設定

コメントをどうぞ


Igorでは一連のデータ列をwaveと呼ぶ。
グラフで言うとx軸やy軸のデータ列みたいなもの。
本稿ではプログラミングでwaveを作成して,それをグラフ化してみる。

新規でプロシージャを作成し,以下の関数(関数名:test)を記入。
Function test()
 Make /N=25 wave1, wave2, wave3 //25行のwave1, wave2, wave3 を作成
 wave1 = x
 wave2 = 2*x + 1
 wave3 = x*x
 AppendToTable wave1, wave2, wave3 //wave1, wave2, wave3をテーブルに追加
End

wave作成

waveの作成

Makeというコマンドがwaveを作成する/N=iがwaveの行数を指定する補助コマンド。
0行からi-1行までのi行を作成するという意味となる。
wave1, wave2, wave3というのがwaveの名前となる。
xは,i行目にiという値が入るように予めIgorで決まった変数である。
AppendToTableというのはその後に続くwaveをTableに表示するというコマンドである。

関数名test()と入力して,関数を実行した結果が下図。

Tableに作成したwaveが表示された。

Tableに作成したwaveが表示された。

続いて,wave1をx軸,wave2とwave3をy軸にとってグラフ化してみる。
そのコマンドが,
Display wave2, wave3 vs wave1
となる。
GUIからグラフ作成も当然できる。その場合,WindowメニューのNew Graphを選択する。

waveをグラフ化

waveをグラフ化

作成したグラフが表示される。

グラフ描画

グラフ描画

グラフの見栄えを変更する方法を追記する。
どういう設定にするかは個人的な好みの問題であるが,いつも同じ形状でグラフ化されたほうが便利だ。
今回はGUIでの設定を記す。
グラフをアクティブにした状態で(グラフをクリックして),Graphメニューの中からModify Axisを選択する。

グラフの見栄えを変更

グラフの見栄えを変更

Axisタブの中からMirror Axisという選択項目でONにする。これにより,反対側の軸も表示されるようになる。

Mirror axisをON

Mirror axisをON

続いて,Ticks and Gridsタブの中からLocationという選択項目でinsideを選択する。これにより,目盛線が内側に表示される。

目盛線を内側に

目盛線を内側に

以上の,変更はleft軸(y軸)に関してのものなので,同じ操作をbottom軸(x軸)に関しても行う。

left軸も同様に変更する。

left軸も同様に変更する

続いて,Graphメニューの中から,Modify graphを選択する。

Modify graph

Modify graph

Width modeAspectを選択し,1.2と入力する。

Aspect 1.2とする。

Aspect 1.2とする。

以上の変更を,次にグラフ作成するときにも反映させるために,Graphメニューの中から,Capture Graph Preferencesを選択する。

グラフの見栄え設定を保存する。

グラフの見栄え設定を保存する

今回変更したのは,2点であり,それに対応する以下の項目をチェックする。

保存したい項目をチェック

保存したい項目をチェック

逆に,グラフ設定を初期値のまま使用したい場合には,Miscメニューの中からPreferences Offを選択してからグラフ化する。

グラフの見栄え設定について初期値を用いる。

グラフの見栄え設定について初期値を用いる。

Igorで足し算を

コメントをどうぞ


Igor Proというグラフ作成およびデータ解析ソフトがある。
研究者の間では手頃な値段のソフトとして重宝されている。
開発元はHurinks社であり,Demo版で1ヶ月フルに使え,その後もセーブ等ができないといった制約があるがフリーで使うことが出来るソフトである。

このソフトはグラフ作成もさることながら,強力なプログラミング機能が備わっている。
勉強がてら少し触ってみた。
例題として,またまた足し算を表示するプログラムを書いてみた。

Igorを起動して,エクスペリメントプロシージャウィンドウにコードを入力する。

Igorの画面

プロシージャ画面にコード入力新規プロシージャ作成プロシージャにコード記入作成した関数を実行関数実行の結果

Variable a, b, c
というのは変数の宣言。
C言語で用いたintdoubleというのはIgorが自動で判断する(指定しようと思ったらできるようだ)。

以下のコードを一行ずつ入力する。

a = 800
b = 29
c = a + b
Print c

コードを一行ずつ入力

 

C言語とほぼ同じで,イコール=は「代入する」という意味。
Print はC言語でいうところのprintfと同じである。

このように,インタラクティブにできるのがC言語にはない特徴。

一行一行入力するのは面倒だし,ある機能を持った関数を作成したい場合がほとんど。そのためには,新規でプロシージャを作成し,そこにプログラムを入力する。

新規プロシージャ作成
新規プロシージャ作成

Functionというのが関数の定義の宣言であり,Endまでが関数の中身。今回はtest()という名前の関数にした。
()内には引数を入力するが,今回は引数なし。

プロシージャにコード記入
プロシージャにコード記入

Compileというボタンを押すとコンパイルされる。エラーがあればメッセージが表示される。
エクスペリメントプロシージャウィンドウに作成した関数の名前を入力し,実行する。

作成した関数を実行
作成した関数を実行

実行結果が下の行に現れる。

関数実行の結果

関数実行の結果