convolution プログラム仕様
ガウス関数またはローレンツ関数を用いたデータの畳み込み(平滑化)スクリプト。
- 概要:
入力データに対して指定した関数を畳み込み、ノイズの除去やブロードニングのシミュレーションを行います。 DOS(状態密度)などの鋭いピークを持つデータの視認性を高めるのに適しています。
- 詳細説明:
Excel等の入力ファイルから 2 列の数値データ(x, y)を読み込みます。
ガウス関数(デフォルト)またはローレンツ関数を窓関数として生成します。
数値的な畳み込み積分を実行し、平滑化された y データを算出します。
結果を Excel ファイル(テンプレート対応)に保存し、グラフを表示します。
関連リンク: convolution.csv 技術ドキュメント
- spectrum_.convolution.convolution(x, y, width, func_type)
数値データの畳み込み積分を実行します。
- 詳細説明:
幅の 5 倍の範囲を有効な積分範囲とし、各データ点に対して 周辺のデータの重み付き平均(積分)を計算します。
- spectrum_.convolution.convolve_func(x, width, func_type='gauss')
畳み込みに使用する重み関数(窓関数)の値を計算します。
- パラメータ:
x -- float: 中心からの距離。
width -- float: 関数の幅パラメータ。
func_type -- str: 'gauss' または 'lorentz'。
- 戻り値:
float: 重み。
- spectrum_.convolution.main()
メイン実行ルーチン。引数解析、計算、保存、プロットを制御します。