があらんどう

伽藍洞です。

MENU

一次元waveの作り方と操作@igor pro

igor proの使い方の基礎中の基礎として一次元waveの作り方を記す。
作り方に加えて基本的な操作方法も説明する。
waveを作った後グラフを描画したいときなどの参考に。

以下ではigor 9 英語版での操作を前提に話を進める。日本語版でも表示は違うだけで基本的に同じ。

waveの作り方

まずはwaveの作り方について説明する。waveの作り方一つとってもいくつかやり方がある。
このみで選べばよい方法もあるが、一方で外部ファイルをインポートするとき、データを手で入力するときなど状況に応じて入力する方法を示す。

メニューバーから作る

ここでは何も入力されていない(全て0が入力されている)waveをメニューバーからコマンドを選択して作成する方法について記す。
メニューバーのData>Make Wavesをクリックする。

すると以下のようなwindowが開く。

このwindowで必要事項を入力することでwaveをつくることができる。
まず、下図で1と示したNameに、wave名を入力する。ここではwave0としたが、好きな名前でよい。ただし数字から始まるwave名は(問題なく作成できるが)避けた方がよさそう。
次に2のDimensionを確認する。デフォルトで「1」になっているが、今回は1次元waveなので1のままでよい。
3はwaveの要素が倍精度か単精度かなどを選択できる。デフォルトで倍精度になっているので気にせずにそのまま使う。
(ちなみに要素が数字でなくテキストのwaveも作れるが、私はあまり使ったことがない)
最後に4のrowsでwaveの要素数を入力する。デフォルトでは128要素になっている。必要に応じて入力する。
最後に左下のDo itをクリックすることでwaveが作成される。

コマンドで作る

igorではコマンドで操作を行えことが魅力の一つだが、最初はコマンドがわからないのでとっつきにくい。
waveをつくるためのコマンドは実はさきほどの画像の中にでている。

画像で囲った部分をコマンドウィンドウに以下画像のように入力して実行すれば良い。

なお。コマンドウィンドウはデフォルトで表示されているが、もし表示されていない場合は、メニューバー>Windows>Command Windowを選択する。

マクロでの典型的な作り方

Igorでは前述のコマンド等をまとめたマクロを動かすことで作業を自動化できる。
マクロ上でwaveを作るためにはメニューバーのWindowsからProedure window>Procedure windowをえらんでプロシージャーウィンドウを開く。

プロシージャーウィンドウに以下のように入力する

macro makewave()

make/D/N=10/O wave0

make/D/N=100/O wave1

endMacro

ここで「macro マクロの名前()」からEndmacroまではマクロのための決まり文句。
中の「make/D/N=10/O wave0」と「make/D/N=100/O wave1」がwaveを作るためのコマンドであり、今回は要素数10と100のwave0とwave1という名前のwaveを作成している。

  • /N=数字 は要素数を決めるオプション。
  • /O は同じ名前のwaveがあったら上書きするオプション。マクロだと何回も動かす可能性が高いので/Oをつけておいた方がストレスが少ない。

このマクロをコンパイルする。コンパイルはプロシージャウィンドウ下部もしくはコンパイルしていない状態でメニューバー>Macros>Compileでできる。

コンパイルの後、動作させるためにはメニューバー>Macrosからマクロ名を選べばよい。動作させるとwaveが作成される。

tableから作る

table上で直接数値を入力することでwaveを作ることも可能である。この作り方は特にデータを手入力していく場合やexcelなどに並んだデータをコピペして移していく場合に有効な方法である。
メニューバーのWindows>New Tableを選択する。

するとダイアログが開くのでDo itをクリックする。図のような白紙のマス目ウインドウがひらく。

左上端のマスに合わせて数値を入力するとwave0が作成される。つづけて数値を入力していけばwaveの要素数が増えていく。
別のwaveを作りたければ次の行を選択して数値を入力していけば良い。

コピペで入力していく場合はExelの行をコピーしてtableウィンドウにペーストすればよい。

外部からインポートする

excelなどにあるデータを上のようにコピペではなくインポートすることでwaveとして取り扱うことができる。
例えば先ほどの
ドラックアンドドロップもしくはコントロールプラスエルすると以下のようなダイアログが現れるので赤く囲ったをクリックしてブラウジングして選択する。
すると別のダイアログが現れるので名前やインポートするかなどを選択してロードする。

waveの操作の仕方

基本的なwaveの操作の仕方を記述する。
以下で説明するのは主にwaveにどのようにして数値を入力するかについてである。

waveのすべての要素にある数値を入力

Waveの要素が100個ある時に要素すべてに5としたい入力したい場合に手打ちするのは現実的ではない。
すべての要素に単一の数字を入力したい場合は、waveの名前をwave0としてしたとき
コマンドウィンドウに

wave0 = 5

と入力すれば良い。

waveに連番を入力

waveにの要素が例えば50個あるときに0, 1, 2, 3, …47, 48, 49という連番を入力したい場合は
コマンドウィンドウに
コマンドウィンドウに

wave0 = x

と入力すれば良い。
このときxはpでもよい。

waveに波形を入力

もっと複雑な関数を入力したい場合でも上と同じ発想でよい。
例えば一つ飛ばしで奇数のみのwaveを作りたいならば
コマンドウィンドウに以下を順番に入力していく。

make/D/N=100/O wave0
wae0 = 2*p+1

すると以下のようなwaveが作成できる。

さらに複雑な関数をプロットすることを考えてみる。正弦関数をプロットしてみよう。

make/D/N=100/O wave0
wave0 = sin (0.1*x)

としてコマンドウィンドウに入力してみる。

結果をグラフとして表示してみよう。
メニューバーのwindows>New Graphを選択すると以下のようなダイアログが現れる。

右のコラムのx waveはすなわちグラフの横軸であり、左コラムのY waveが縦軸になる。
今回はY waveにwave0を選ぶ。横軸に対応するwaveは今回作っていないのでcalculatedを選択する。
すると以下のようなグラフがあらわれる。

sinカーブがプロットできている。calculatedは横軸にwaveの要素をとるので今回は要素数100で作ったので99まで横軸に表示されている。

以上が基本的な一次元waveの使い方である。