Igorの解説とか

このブログはWavemetrics社が開発および販売しているIgorについて解説するブログです。

Igor基礎知識(Waveの基礎)

 

まずコマンドライン

make y1
y1=exp(-((x-30)/100)^2*20)
Display y1

と打ってみてください。ガウシアンが出るはずです。

f:id:Igorpro:20170205233918p:plain

 

このときのx軸はPoint数になっています。Makeコマンドで特に指示なく作るとPoint数は128点になります。新規テーブルとかで確認してみてください。

 

このようにIgorでは、WaveはあるPointにおける値(いわゆるyの値)しか持っておらず、x軸に関する情報は持っていません。

 

グラフ化する時にx軸を指定する方法は二通りあります。

① x軸を指定するWaveを別に用意する

② Setscaleコマンドを使ってx軸に関する情報を持たせる

 

① x軸を指定するWaveを別に用意する

コマンドライン

make x1
x1=x-30
display y1 vs x1

と打ってみてください。

f:id:Igorpro:20170212181457p:plain

上のグラフが出てきます。

ガウシアンの頂点にx=0を合わせるようにしました。

x1=(x-30)/10

とすれば

f:id:Igorpro:20170212181731p:plain

となり、1pointの幅が0.1になっています。

このようにx,y両方のwaveを作り、

display (yのwave) vs (xのwave)

とすれば(xのwaveにおけるn point目をx[n]と書くようにします)

 

Point数 xの値 yの値
0 x[0] y[0]
1 x[1] y[1]
2 x[2] y[2]

というように表示されます。

尚、xのwaveとyのwaveは同じデータ数である必要があるので注意してください。

さらにxのwaveを非等間隔にしたり、同じ値を複数作ることも出来ますので、非常に自由度が高いです。

 

Setscaleコマンドを使ってx軸に関する情報を持たせる

 y1を作った状態で

setscale x,0,10,y1
display y1

と打てば

f:id:Igorpro:20170212182909p:plain

このような,x軸の範囲が0から10になったグラフが表示されます。

また

setscale/p x,0,0.1,y1
display y1

とすれば、0から始まり、pointの間隔が0.1になったグラフになります。

まとめると

setscale x,最初のx値,最後のx値,wave名
setscale/p x,最初のx値,point間隔,wave名

となります。

ただしこの方法では、Pointの間隔が必ず固定されてしまうことに注意が必要です。