• 締切済み

Igorでの関数の作り方

Igorでの関数の作り方 Igor Pro version 6.12を使って、ユーザー定義関数でのフィッティングを試みています。 関数自体は非常に単純なのですが、式の中に独立変数に依存して変化するwaveを読み込む必要があり、そこが上手く読み込めていないようです。 マクロでは“wave N=wave1”と定義し、式中ではN[x]としています。 コンパイルはできているのですが、係数に適切な値を指定しても全くフィットしません。 このようなユーザー定義関数を作ったことがある方がいらっしゃいましたら、教えていただけないでしょうか。

みんなの回答

noname#137826
noname#137826
回答No.1

もう解決されましたでしょうか? > マクロでは“wave N=wave1”と定義し、式中ではN[x]としています。 > コンパイルはできているのですが、係数に適切な値を指定しても全くフィットしません。 この説明では全く理解できない・・・のですが、気になった点が一つあります。 N[p] と N(x) の差異は把握したうえで、あえて N[x] という表記を使用されていますか? もし、上記の違いをわからずに N[x] という表記を使われているのであれば、その N[x] がトラブルの元になっている可能性があります。 独立変数の値によって異なるウエーブを読み込み、そのウエーブを反映してフィット関数が変わる、というようなことであれば、以下のようにしてできるはずです。 Function f(w,x) Wave w Variable x if (x > 0) Wave w2 = wave0 // 読み込まれるべきウエーブの名前は wave0 else Wave w2 = wave1 // 読み込まれるべきウエーブの名前は wave1 endif return w[0] + w[1]*x^w2[0] // べきは w2 から読み込む End

関連するQ&A