名前空間
変種
操作

erf、erff、erfl

From cppreference.com
< c‎ | numeric‎ | math
 
 
 
共通の数学関数
関数
基本的な数学関数
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大/最小演算
(C99)
(C99)
指数関数
(C23)
(C99)
(C99)
(C23)
(C23)

(C99)
(C99)(C23)
(C23)
(C23)
べき乗関数
(C99)
(C23)
(C23)

(C99)
(C23)
(C23)
三角関数と双曲線関数
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
(C99)
最も近い整数浮動小数点数
(C99)(C99)(C99)
(C99)

(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
浮動小数点操作
(C99)(C99)
(C99)(C23)
(C99)
縮小演算
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
量子および量子指数
Decimal再エンコーディング関数
総順序およびペイロード関数
分類
(C99)
(C99)
(C99)
(C23)
誤差関数とガンマ関数
erf
(C99)
(C99)
(C99)
(C99)
マクロ定数
特殊な浮動小数点値
(C99)(C23)
引数と戻り値
エラーハンドリング
高速演算インジケータ
 
ヘッダー <math.h> で定義
float       erff( float arg );
(1) (C99以降)
double      erf( double arg );
(2) (C99以降)
long double erfl( long double arg );
(3) (C99以降)
ヘッダー <tgmath.h> で定義
#define erf( arg )
(4) (C99以降)
1-3) arg誤差関数を計算します。
4) 型汎用マクロ: arg の型が long double の場合、erfl が呼び出されます。それ以外の場合で、arg の型が整数型または double の場合、erf が呼び出されます。それ以外の場合は、erff が呼び出されます。

目次

[編集] パラメータ

arg - floating-point value

[編集] 戻り値

エラーが発生しなかった場合、arg の誤差関数の値、すなわち
2
π
arg
0
e-t2
dt
が返されます。アンダーフローによる範囲エラーが発生した場合、丸め後の正しい結果、すなわち
2*arg
π
が返されます。

[編集] エラー処理

エラーは math_errhandling で指定されたとおりに報告されます。

実装がIEEE浮動小数点算術 (IEC 60559) をサポートしている場合、

  • 引数が ±0 の場合、±0 を返します。
  • 引数が ±∞ の場合、±1 を返します。
  • 引数がNaNの場合、NaNが返されます。

[編集] 注記

|arg| < DBL_MIN*(sqrt(π)/2) の場合、アンダーフローが保証されます。

erf(
x
σ2
)
は、標準偏差 σ の正規分布に従う誤差を持つ測定値が、平均値から x 未満である確率です。

[編集]

#include <math.h>
#include <stdio.h>
 
double phi(double x1, double x2)
{
    return (erf(x2 / sqrt(2)) - erf(x1 / sqrt(2))) / 2;
}
 
int main(void)
{
    puts("normal variate probabilities:");
    for (int n = -4; n < 4; ++n)
        printf("[%2d:%2d]: %5.2f%%\n", n, n + 1, 100 * phi(n, n + 1));
 
    puts("special values:");
    printf("erf(-0) = %f\n", erf(-0.0));
    printf("erf(Inf) = %f\n", erf(INFINITY));
}

出力

normal variate probabilities:
[-4:-3]:  0.13%
[-3:-2]:  2.14%
[-2:-1]: 13.59%
[-1: 0]: 34.13%
[ 0: 1]: 34.13%
[ 1: 2]: 13.59%
[ 2: 3]:  2.14%
[ 3: 4]:  0.13%
special values:
erf(-0) = -0.000000
erf(Inf) = 1.000000

[編集] 参考文献

  • C11標準 (ISO/IEC 9899:2011)
  • 7.12.8.1 The erf functions (p: 249)
  • 7.25 型総称数学関数 <tgmath.h> (p: 373-375)
  • F.10.5.1 The erf functions (p: 525)
  • C99標準 (ISO/IEC 9899:1999)
  • 7.12.8.1 The erf functions (p: 230)
  • 7.22 型総称数学関数 <tgmath.h> (p: 335-337)
  • F.9.5.1 The erf functions (p: 462)

[編集] 関連項目

(C99)(C99)(C99)
補誤差関数を計算する
(関数) [編集]

[編集] 外部リンク

Weisstein, Eric W. "Erf." MathWorld — A Wolfram Web Resourceより。
English 日本語 中文(简体) 中文(繁體)