lsq_func_tkFit プログラム仕様
lsq_func_tkFit.py 非線形最小二乗法を用いてデータに対する関数フィッティングを実行するスクリプトです。
指定された入力データと関数に基づき、最適化手法(例: BFGS)を用いてパラメータをフィッティングします。 初期値の設定、フィッティング範囲の指定、グラフ表示、結果の出力(Excel、パラメータファイル)に対応しています。
関連リンク: lsq_func_tkFit.py 技術ドキュメント
- optimize.lsq_func_tkFit.cal_y(xd, pk, app)[ソース]
与えられた関数とパラメータに基づいてy値を計算します。
app.cparams.func に定義された文字列形式の関数を eval を用いて実行し、 独立変数 xd とフィッティングパラメータ pk を用いてy値を算出します。 この関数は、tkFit_m クラスの`func`属性として登録され、フィッティング計算に使用されます。
- パラメータ:
xd -- list - 独立変数(xデータ)のリスト。
pk -- list - フィッティングパラメータのリスト。
app -- tkApplication - アプリケーションインスタンス。
- 戻り値:
float or array-like - 計算されたy値。
- optimize.lsq_func_tkFit.fit(app)[ソース]
データに対する非線形最小二乗フィッティングを実行します。
入力データの読み込み、フィッティング関数の設定、初期パラメータの準備を行い、 初期プロットを表示します。その後、cparams.method で指定された最適化手法を用いて フィッティングを実行し、最終結果の表示、フィッティング結果のExcelファイルへの保存、 パラメータファイルの保存を行います。最後に、最適化された関数のプロットを表示します。
- パラメータ:
app -- tkApplication - アプリケーションインスタンス。
- 戻り値:
None
- optimize.lsq_func_tkFit.initialize(app)[ソース]
アプリケーションの初期パラメータを設定します。
フィッティング方法、入出力ファイル名、フィッティング関数、初期パラメータ、 フィッティング範囲、数値微分時の微小変位、最大イテレーション回数、許容誤差、 グラフ表示に関する設定など、プログラムの動作に必要な様々なパラメータを初期化します。
- パラメータ:
app -- tkApplication - アプリケーションインスタンス。
- 戻り値:
None