convolution プログラム仕様

ガウス関数またはローレンツ関数を用いたデータの畳み込み(平滑化)スクリプト。

概要:

入力データに対して指定した関数を畳み込み、ノイズの除去やブロードニングのシミュレーションを行います。 DOS(状態密度)などの鋭いピークを持つデータの視認性を高めるのに適しています。

詳細説明:
  1. Excel等の入力ファイルから 2 列の数値データ(x, y)を読み込みます。

  2. ガウス関数(デフォルト)またはローレンツ関数を窓関数として生成します。

  3. 数値的な畳み込み積分を実行し、平滑化された y データを算出します。

  4. 結果を 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()

メイン実行ルーチン。引数解析、計算、保存、プロットを制御します。