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

optimize.lsq_func_tkFit.main()[ソース]

プログラムのエントリポイントです。

tkApplication インスタンスを作成し、以下の処理を順に実行します。 1. initialize(): アプリケーションの初期パラメータを設定します。 2. update_vars(): コマンドライン引数に基づいてパラメータを更新します。 3. fit(): データに対する非線形最小二乗フィッティングを実行します。

戻り値:

None

optimize.lsq_func_tkFit.update_vars(app)[ソース]

コマンドライン引数に基づいてアプリケーションのパラメータを更新します。

sys.argv を解析し、getarg, getintarg, getfloatarg ヘルパー関数を使用して、 app.cparams に格納されているデフォルトのパラメータ値を上書きします。 これにより、スクリプトの実行時に外部から設定を変更できるようになります。

パラメータ:

app -- tkApplication - アプリケーションインスタンス。

戻り値:

None