GaussianFunction ライブラリ
- 目次 -
概要 - Abstract
このライブラリ math.GaussianFunction は、ガウス関数を提供します。
提供される関数には、gauss と gaussian の 2 つの名前の関数がありますが、両者は指数部分母の係数が異なります。
前者のgauss(x,a,b,c) 関数は、a * exp( -(x-b)**2 / c**2 ) の値を計算します。
後者のgaussian(x,a,b,c) 関数は、a * exp( -(x-b)**2 / (2 * c**2) ) の値を計算します(指数部分母に係数 2 がかかる事に注意して下さい)。
なお、このモジュールでは varfloat 型や varcomplex 型など、多倍長精度のものも提供されますが、
ただアルゴリズムが実装されているだけであり、演算誤差の蓄積や、桁落ち等に対する特別な措置は行われません。
つまり、最終桁まで正しい値が得られる訳ではなく、演算結果の末尾に、常に誤差蓄積による正しくない部分が含まれます。
この誤差部分の長さは、実装のアルゴリズムの違いや、引数による収束速度の違い、桁落ちの度合いなど、場合によって異なります。
例えば、一般に特異点の近傍では収束が著しく遅くなり、それに伴って誤差蓄積も増大します。
従って、 varfloat 型や varcomplex 型などの多倍長精度の関数を使用する場合は、
必要な桁数よりも、十分に大きな桁数で関数を呼び出し、得られた結果から不要な(誤差を含む)部分を切り捨てて下さい。
目次 - Index
- float gauss(float x, float a, float b, float c)
- 実数のガウス関数です。a * exp( -(x-b)**2 / c**2 ) の値を返します。gaussian 関数と異なるのは、指数部分母に 2 がかからない点です。
- varfloat gauss(varfloat x, varfloat a, varfloat b, varfloat c)
- 実数のガウス関数です。a * exp( -(x-b)**2 / c**2 ) の値を返します。gaussian 関数と異なるのは、指数部分母に 2 がかからない点です。
- float gaussian(float x, float a, float b, float c)
- 実数のガウス関数です。gauss 関数と異なるのは、指数部分母に 2 がかかる点です。a * exp( -(x-b)**2 / (2 * c**2) ) の値を返します。
- varfloat gaussian(varfloat x, varfloat a, varfloat b, varfloat c)
- 実数のガウス関数です。gauss 関数と異なるのは、指数部分母に 2 がかかる点です。a * exp( -(x-b)**2 / (2 * c**2) ) の値を返します。
構造体 - Structs
- なし - None -
変数 - Variables
- なし - None -
関数 - Functions
文法的定義 - Signature |
float gauss(float x, float a, float b, float c) |
関数名 - Name |
gauss |
役割 - Role |
実数のガウス関数です。a * exp( -(x-b)**2 / c**2 ) の値を返します。gaussian 関数と異なるのは、指数部分母に 2 がかからない点です。 |
引数 - Arguments |
(float型) x : 座標変数です。 (float型) a : 指数部にかかる係数です。 (float型) b : 座標のオフセット値です。 (float型) c : 指数部内分母の2次平方根です。 d : 指数部内分母の1次係数です。 |
戻り値 - Return |
(float型) 指数関数の値です。 |
文法的定義 - Signature |
varfloat gauss(varfloat x, varfloat a, varfloat b, varfloat c) |
関数名 - Name |
gauss |
役割 - Role |
実数のガウス関数です。a * exp( -(x-b)**2 / c**2 ) の値を返します。gaussian 関数と異なるのは、指数部分母に 2 がかからない点です。 |
引数 - Arguments |
(varfloat型) x : 座標変数です。 (varfloat型) a : 指数部にかかる係数です。 (varfloat型) b : 座標のオフセット値です。 (varfloat型) c : 指数部内分母の2次平方根です。 d : 指数部内分母の1次係数です。 |
戻り値 - Return |
(varfloat型) 指数関数の値です。 |
文法的定義 - Signature |
float gaussian(float x, float a, float b, float c) |
関数名 - Name |
gaussian |
役割 - Role |
実数のガウス関数です。gauss 関数と異なるのは、指数部分母に 2 がかかる点です。a * exp( -(x-b)**2 / (2 * c**2) ) の値を返します。 |
引数 - Arguments |
(float型) x : 座標変数です。 (float型) a : 指数部にかかる係数です。 (float型) b : 座標のオフセット値です。 (float型) c : 指数部内分母の平方根です。 |
戻り値 - Return |
(float型) 指数関数の値です。 |
文法的定義 - Signature |
varfloat gaussian(varfloat x, varfloat a, varfloat b, varfloat c) |
関数名 - Name |
gaussian |
役割 - Role |
実数のガウス関数です。gauss 関数と異なるのは、指数部分母に 2 がかかる点です。a * exp( -(x-b)**2 / (2 * c**2) ) の値を返します。 |
引数 - Arguments |
(varfloat型) x : 座標変数です。 (varfloat型) a : 指数部にかかる係数です。 (varfloat型) b : 座標のオフセット値です。 (varfloat型) c : 指数部内分母の平方根です。 |
戻り値 - Return |
(varfloat型) 指数関数の値です。 |