2011-07-12 33 views
0

私は、関数のパラメータの1つを決めるために、たくさんの余弦波に合わせる必要があるプログラムに取り組んでいます。私が使用している方程式は、y = y_0 + Acos((4 * pi * L)/ x + pi)です。ここで、Lは最良フィット線から得ようとしている値です。LabView cos fitting

データセットごとに手動でこれを正しく行うことは可能ですが、このプロセスを自動化する最適な方法は何ですか?私は現在、テキストファイルからデータを読み込み、データに似た振幅を持つパラメータ値の配列が得られるまで、最初のパラメタを変更してループを実行してから、中心のピークと最高のものを選ぶ2つの終点。これは、手でフィッティングするときに得られる値よりも低い値を一貫して選択します(ほぼ正確に1つのフェーズオフ)。それでは、この方法を改善する方法、またはよりうまくいく別の方法がありますか?

編集:私のLabVIEWバージョンには、私が使用しているものであるCos fitting VIがあります。問題は、ループを使用して初期パラメータを変更してフィッティングを自動化しようとするときです。人間が選ぶのと同じベストフィットラインを選んでください。

+0

ライブラリにフィッティングVIがある場合のLabVIEWのエディションによっては、あなたのものは何ですか? – CharlesB

答えて

2

なぜ高速フーリエ変換を使用しないのですか?これはコサインをフィッティングするよりも速くなければなりません。結果の複素数のベクトルでは、合計の最大ピークを探します。周波数(FFT結果ベクトルの位置)、振幅と位相が与えられます。

0

適合曲線は、フィッティングカーブとデータの差を計算することで、フィットの良さを評価できます。 VIは、「高度なカーブフィッティング」パレットでこれを行います。そして、あなたがしなければならないことは、一番合ったものを選ぶことです。