Main Content

erfinv

構文

説明

erfinv(x) は、x の各要素について評価した逆誤差関数を返します。入力が [-1 1] の範囲外の場合、erfinvNaN を返します。

すべて折りたたむ

erfinv(0.25)
ans = 0.2253

入力が [-1,1] の範囲外の場合、erfinvNaN を返します。erfinv は、-1-Inf1Inf を返します。

erfinv([-2 -1 1 2])
ans = 1×4

   NaN  -Inf   Inf   NaN

行列の要素の逆誤差関数を求めます。

M = [0 -0.5; 0.9 -0.2];
erfinv(M)
ans = 2×2

         0   -0.4769
    1.1631   -0.1791

-1 < x < 1 について逆誤差関数をプロットします。

x = -1:0.01:1;
y = erfinv(x);
plot(x,y)
grid on
xlabel('x')
ylabel('erfinv(x)')
title('Inverse Error Function for -1 < x < 1')

Figure contains an axes object. The axes object with title Inverse Error Function for -1 < x < 1, xlabel x, ylabel erfinv(x) contains an object of type line.

一様分布乱数を使用して、ガウス分布乱数を生成します。一様分布乱数 x をガウス分布乱数 y に変換するには、次の変換を使用します。

y=2erf-1(x).

x-1 + 2*rand(1,10000) の形式をとるので、erfinv の代わりに erfcinv を使用して精度を上げることができます。詳細については、ヒントを参照してください。

区間 [-1,1] に一様分布乱数を 10,000 個生成します。これらの乱数をガウス分布乱数に変換します。ヒストグラム プロットを使用して、乱数がガウス分布の形状に従うことを示します。

rng('default')
x = -1 + 2*rand(1,10000);
y = sqrt(2)*erfinv(x);
h = histogram(y);

Figure contains an axes object. The axes object contains an object of type histogram.

入力引数

すべて折りたたむ

入力。実数、あるいは実数のベクトル、行列または多次元配列として指定します。x をスパースにすることはできません。

データ型: single | double

詳細

すべて折りたたむ

逆誤差関数

逆誤差関数 erfinv は、誤差関数の逆関数として定義され、次の式を満たします。

erfinv(erf(x))=x.

ヒント

  • erfinv(1-x) の形式の式では、代わりに逆相補誤差関数 erfcinv を使用します。この置き換えでは精度が維持されます。x1 に近い場合、1 - x が小さい数値になり 0 に丸められることがあります。代わりに、erfinv(1-x)erfcinv(x) に置き換えます。

拡張機能

バージョン履歴

R2006a より前に導入

参考

| | |