Igor macro 使用方法と解説

update 2006/08/02

マクロの最新バージョン ver. 0.83 (更新日2006/08/01)

注:F2Cなど、マクロ名の途中に入っている2は、2->toへ読み替えで。


DYperY_Csr

グラフ中の丸カーソルのあるy軸のwaveを、丸カーソルのy座標を基点にdy/yにする。
注意:オフセットの影響を受ける。対象waveを変更してしまう。
コマンドとしては、
ywave = ywave/y0
ここでywaveはy軸のwaveで、y0はywaveの丸カーソルのy座標。

    適用後→   
適用後の左軸ラベルはdC44/C44。


F2DCperC

周波数を弾性定数の相対変化dC/Cに変換する。
ダイアログがでるので周波数のwaveを選択し、基点となる周波数を入力すれば、「wave名_dcpc」の名前で新規に弾性定数の相対変化dC/Cに直したwaveが出力される。
元のwaveは変更されない。
注意:2度以上同じwaveでやると、「wave名_dcpc」のwaveは有無を言わさず上書きされる。上書きされるのが嫌な場合は、あらかじめwave名を変えるべし。


ダイアログ

    適用後の新規グラフ→   
16 MHzを基点に変換


F2DCperC_Csr

周波数を弾性定数の相対変化dC/Cに変換する。カーソルバージョン。
グラフ中の丸カーソルのあるy軸のwave (つまりは周波数のwave) を、丸カーソルのy座標 (つまり周波数) を基点に、周波数をdC/Cに変換したwaveを新規に出力する。これも「wave名_dcpc」の名前で出力され、元のwaveは変更されない。
注意:2度以上同じwaveでやると、「wave名_dcpc」のwaveは有無を言わさず上書きされる。上書きされるのが嫌な場合は、あらかじめwave名を変えるべし。

    適用後の新規グラフ→   


F2C

周波数を弾性定数に変換する。
ダイアログがでるので周波数のwaveを選択し、基点となる周波数と対応する弾性定数を入力すれば、「wave名_c」の名前で新規に弾性定数Cに直したwaveが出力される。
元のwaveは変更されない。
注意:2度以上同じwaveでやると、「wave名_c」のwaveは有無を言わさず上書きされる。上書きされるのが嫌な場合は、あらかじめwave名を変えるべし。


ダイアログ

    適用後の新規グラフ→   
16 MHzを基点に、弾性定数を8 (10^10 J/m3)として変換


F2C_Csr

周波数を弾性定数の相対変化dC/Cに変換する。カーソルバージョン。
グラフ中の丸カーソルのあるy軸のwave (つまりは周波数のwave) を、丸カーソルのy座標 (つまり周波数) を基点に、ダイアログで入力した弾性定数にに変換したwaveを新規に出力する。「wave名_c」の名前で出力され、元のwaveは変更されない。
注意:2度以上同じwaveでやると、「wave名_c」のwaveは有無を言わさず上書きされる。上書きされるのが嫌な場合は、あらかじめwave名を変えるべし。


ダイアログ

    適用後の新規グラフ→   
弾性定数を7.5 (10^10 J/m3)に設定。


Copy

waveを1つコピーする。
コピーしたwave名は、「wave名_copy」となる。
注意:2度以上同じwaveでやると、「wave名_copy」のwaveは有無を言わさず上書きされる。上書きされるのが嫌な場合は、あらかじめwave名を変えるべし。


ダイアログ


MabikiAll

間引きの説明。実験によっては測定点数が膨大になり、グラフにしたときに見栄えが悪かったり、論文にするときにepsファイルで出力するとありえないくらい重くなったりする。全ての測定点が必要なわけではないので、適切に測定点を削除すれば、ファイルも軽くなり、測定点をシンボルで表す場合は見栄えも良くなる。間引きとは、間をあける為に、削除することである。

さて使い方。ダイアログが出るので、対応する2つのwaveを指定する (例えばxwaveに温度のwaveを、ywaveに弾性定数のwaveを)。あとは間引く点の数を入力すし、続行を押せば、「wave名_m」という間引き済みのwaveが2つ新規に作成される。それぞれxwaveとywaveで指定したwaveに対応する。
ダイアログのwave_nameで""の中を変えれば、wave名の後に指定した文字が付く。
注意:マイナスの記号は無視される。また小数点は、切捨て。2度以上同じwaveでやると、「wave名_m」のwaveは有無を言わさず上書きされる。上書きされるのが嫌な場合は、あらかじめwave名を変えるべし。


ダイアログ

動作説明。さて、下に2点間引きの例を示す。左側がwaveの最初の方のデータだと思ってもらいたい。上段が間引く前、下段が間引いた後。2点削除したら1点残し、また2点削除するという動作をする。最初と最後の点は必ず残すような使用になっている。


MabikiAll_W

対応する2つのwaveを間引く。動作は上記のMabikiAllと基本は同じ。
動作の違いは、間引きたいwaveのあるグラフを一番前というか上というかにする (グラフのウィンドウをアクティブにする)。
そうした上でこのマクロを使うと、ダイアログが出るが、xwaveとywaveには、先ほどのグラフにあるwaveしか表示されなくなる (選ぶのが楽)。
で、続行を押すと、強制的にそのグラフにxwaveとywaveで指定したwaveに対応する間引かれたwave (「wave名_m」となる) が 新規に作成され、グラフに追加され表示される。
注意:マイナスの記号は無視される。また小数点は、切捨て。2度以上同じwaveでやると、「wave名_m」のwaveは有無を言わさず上書きされる。上書きされるのが嫌な場合は、あらかじめwave名を変えるべし。 また、「wave名_m」がある場合、つまり上書きされる場合は、グラフに再度追加されない。


ダイアログ

    3点間引き適用→   
グラフに3点間引かれたwaveが追加されている。


MabikiPart

一部分だけ間引きたい時に使用する。
グラフ上の丸カーソルと四角カーソルの間だけを間引く。
使い方としては、グラフで間引きたいwaveの間引きたい部分に丸カーソルと四角カーソルを配置する。マクロを使うと、ダイアログが出るので、間引きたい数を入力して続行すれば、「wave名_m」の部分的に間引かれたwaveが新規に作成される。
このマクロでは、新たに出来たwaveをグラフに自動で追加しない。
注意:マイナスの記号は無視される。また小数点は、切捨て。2度以上同じwaveでやると、「wave名_m」のwaveは有無を言わさず上書きされる。上書きされるのが嫌な場合は、あらかじめwave名を変えるべし。


ダイアログ

    20点間引き適用後→   


MabikiXAll

この間引きマクロは、点の数で間引くのではなく、x軸 (にするwave) を基準にとって間引く。
下図を見るとよくある時点から測定点の密度が変わることがある (温度や磁場のスイープ速度が変わるとかで) 。こういう場合、普通に2点間引きとかすると、点の密度の違いから綺麗に処理できない。そこで、x軸を基準に間引くわけである。

使い方。これまで同様に、マクロを使うと、ダイアログがでるので、間引きたいデータをxwaveとywaveで指定する。x_intervalには、例えば0.1 Kごとに測定点を残したい場合には、0.1を、10 K (または10 Tとか) ごとに測定点を残したい場合には10を入力する。続行を押せば、これまでと同様、元のファイルには変更を加えず、「wave名_m」の間引かれた新規waveが作成される。
注意:少数は無視されない。マイナスの記号は無視される。2度以上同じwaveでやると、「wave名_m」のwaveは有無を言わさず上書きされる。上書きされるのが嫌な場合は、あらかじめwave名を変えるべし。

動作上の注意としては、例えば0.1 Kで間引きたい場合、きちっと本当に0.1 Kごとに点が残るわけではない。実験で測定すると、例えば、21.233 K、30.429 Kなど、小数点数桁の測定がされるわけで、これを本当に0.1 Kごとにしようとすると、新たに点を作ってしまわないことには対応できない (補間して対応できるが、それでは実測値ではなくなってしまう)。なので、ここでは、残した点から0.1 K越えない点は削除し、0.1 K越えた1点目を残し、それを次の基準点にする、という動作をしてある。なので、指定した間隔は、大体の値となる。


ダイアログ

    0.05 Tで間引いた結果→   

比較としてMabikiAllで5点間引きした結果

 

動作説明。MPMSによる磁化測定は別にして、超音波測定などでは、温度軸に対して非等間隔でデータが測定される (下図の上側のように)。これをMabikiXAllで0.1 K設定で間引くと、下図の下側のようになる。左側の点から動作する場合、4.22 Kがスタートとなるので、4.32 Kまでのデータは削除される。4.32 Kを越えた1つ目の点が残され (青丸)、青丸の温度が次の基点となる。青丸から0.1 K以上のところにある赤丸が次の基点となり、と以下最後まで続く。なので、間引いた後では、本当の意味で等間隔ではない。しかし、点の密度が多い場合、元の点間隔から1桁以上大きな間隔を設定すれば、見た目ほぼ等間隔に並ぶ。


MabikiXAll_W

基本的な動作は、MabikiXAllと同じ。違いは、MabikiAll_Wと同様にグラフが一番前に来ているときに、ダイアログでxwaveとywaveであらわれるwaveがグラフ上のものに限られ、実行した後にそのグラフに自動で間引いた後の新規waveが追加される。
注意:少数は無視されない。マイナスの記号は無視される。2度以上同じwaveでやると、「wave名_m」のwaveは有無を言わさず上書きされる。上書きされるのが嫌な場合は、あらかじめwave名を変えるべし。 また、「wave名_m」がある場合、つまり上書きされる場合は、グラフに再度追加されない。


ダイアログ

    0.05 Tで間引き→   


Sakujo

グラフ上で丸カーソルと四角カーソルの点とその間の点を全て削除する。丸と四角のカーソルが重なっているときは、その点だけを削除する。当たり前だが、x軸のwaveとy軸のwaveの両方の点が削除される。
注意:対象waveの点を直接削除するので注意。

    Sakujoマクロ実行→   


SakujoY

新規グラフまたはグラフにトレースを追加で、xwaveを自動計算にした場合 (つまりy軸のwaveしかない場合) 用のマクロ。
回帰分析やInterpolate (補間) をすると、設定によってはywave1つしかできない。こういうときのため。(ドハースの解析とかでよくある。)
注意:対象waveの点を直接削除するので注意。


Ketsugou_Csr

1つのグラフ上で、2つのでデータを1つのデータにしたい時に使う。
まず、データ的に先にしたいwaveに丸カーソルを置く。次に丸カーソルのwaveに結合したいwaveに四角カーソルを置く。この場合、カーソルの位置はどこでも良い。マクロを実行すると、 結合した後のwaveの名前を入力するダイアログがでるので、適当にwave名を入れて、続行する。そうすると、丸カーソルのxwaveと四角カーソルのxwave、丸カーソルのywaveと四角カーソルのywaveを、それぞれ 結合した「適当な名前_x」と「適当な名前_y」というwaveが新規に作成される。
注意:あまりに点数が多いwaveでやると、処理に相当時間が掛かる(理由:処理の部分を関数化してないため)。また、同じwave名を付けると有無を言わさず上書きされる。


IdouHi

よく超音波測定では、音速の相対比を周波数の相対比で測定しているため、同じ温度でも測定周波数がずれることがある。また基本的には (周波数依存がない場合) は、どの周波数で測ろうとも相対変化量は一緒なので、違う周波数で測定したデータ (周波数のままのデータ) をつなげてみたいことがある。このマクロは、その時に使う。ちなみに、分かる人には分かるPlotの移動比と同じ動作。
使い方としては、下図で説明すると、青waveの四角カーソルの場所に、赤waveの丸カーソルが合うように赤waveを比で移動したいとする。実行すると赤wave全体が丸カーソルと四角カーソルの比に対応した値に変換される。ちなみに、変更されるのは赤waveのywaveだけである
注意:上記にも書いた通り、変更されるのは赤waveのywaveだけであるが、コピーを作らず直接変更するため、元データを変更したくないときは、コピーを作っておくこと。オフセットの影響を受けるため注意。

    移動比適用→   

一応の注意:なんでもかんでもこのマクロでデータを見た目つなげて、上のKetsugou_Csrで結合して、これが測定データです!としてはいけません。よく考えて使いましょう。


HokanIVadd

グラフ中のwaveをcubic splineで4倍の点数で補間したwaveを新規に作成し、グラフに右軸を使用して追加する。
マクロを使用すると、ダイアログでxwaveとywaveで前面のグラフにあるwaveが選択できるので、補間したいwaveを選ぶ。実行すれば、「ywave名_CS」というwaveが新規に作成され、グラフの右軸を使って青色で追加される。この作成された「ywave名_CS」というwaveは、グラフではxwaveは自動計算である。
注意:「ywave名_CS」という同じ名前のwaveがある場合、有無を言わさず上書きされる。


ダイアログ

    補間後→   
青のwaveは赤の点の数が4倍になっている。


DLperL

熱膨張用のマクロ。キャパシタンス法で測定したデータ (静電容量) を長さの相対変化dL/Lに変換する。
使い方。変換したいwaveでグラフを作成する。基準とする場所 (例えば0 Tなど ) に丸カーソルを置き、マクロを実行する。
ダイアログがでるので、試料の長さ (mm) を入力して、実行すれば、dL/Lに変換された新規waveが「wave名_dlpl」の名前で作成される。
このマクロでは、データの単位をpFで取り込んでいることを想定しているため、仮にFのデータは、pFにしておくこと。

使用パラメータ:極板半径7 mm、真空の誘電率8.854187 pF/m
下図の例でいうと、測定データの単位がpFなので、実際のwaveと式での数値は、データが例えば18となり、誘電率部分は8.854187となっている。

注意:極板の面積が変わったら、式内のパラメータを変える必要がある。また同じ名前のwaveがある場合は、上書きされる。


ダイアログ

    長さ6 mmで変換後の新規グラフ→   


SC2DFai

パルスマグネット実験など負帰還をかけない超音波実験で、phase detectorからsin成分とcos成分の電圧を直接測定したときに、sin成分とcos成分から位相の変化Dfを求めるマクロ。
使い方。ダイアログがでるので、sin成分のwaveとcos成分のwaveを選択する。新たに出力されるDfのwave名は、sin成分のwave名+_dfai


DFai2DCperC

SC2DFaiで出来たDfのwaveを、弾性定数の相対変化dC/Cに変換する。
使い方。ダイアログがでるので、変換したいdfaiのwaveを選択し、あらかじめ求めたfai0を入力すれば、dC/Cに変換される。
弾性定数Cが欲しいときは、この結果に1を足して、Cを掛ければ良い。

 

 

Topへ戻る