プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (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
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!