Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

erfcinv

説明

erfcinv(X) では、X逆相補誤差関数を計算します。X がベクトルまたは行列である場合、erfcinv(X)X の各要素の逆相補誤差関数を計算します。

浮動小数点数およびシンボリック数の逆相補誤差関数

引数に応じて、erfcinv は浮動小数点解またはシンボリック厳密解の結果を返します。

次の数値について逆相補誤差関数を計算します。これらの数値はシンボリック オブジェクトではないため、結果は浮動小数点数となります。

A = [erfcinv(1/2), erfcinv(1.33), erfcinv(3/2)]
A =
    0.4769   -0.3013   -0.4769

同じ数値をシンボリック オブジェクトに変換して逆相補誤差関数を計算します。ほとんどのシンボリックな (厳密な) 数値について、erfcinv は未解決のシンボリックな呼び出しを返します。

symA = [erfcinv(sym(1/2)), erfcinv(sym(1.33)), erfcinv(sym(3/2))]
symA =
[ -erfcinv(3/2), erfcinv(133/100), erfcinv(3/2)]

vpa を使用して、必要な桁数でシンボリックな結果を近似します。

d = digits(10);
vpa(symA)
digits(d)
ans =
[ 0.4769362762, -0.3013321461, -0.4769362762]

変数と式の逆相補誤差関数

ほとんどのシンボリックな変数と式では、erfcinv により未解決のシンボリックな呼び出しが返されます。

xsin(x) + x*exp(x) について逆相補誤差関数を計算します。ほとんどのシンボリックな (厳密な) 変数と式に対して、erfcinv は未解決のシンボリックな呼び出しを返します。

syms x
f = sin(x) + x*exp(x);
erfcinv(x)
erfcinv(f)
ans =
erfcinv(x)
 
ans =
erfcinv(sin(x) + x*exp(x))

ベクトルと行列の逆相補誤差関数

入力引数がベクトルまたは行列である場合、erfcinv はそのベクトルまたは行列の要素ごとに逆相補誤差関数を返します。

行列 M とベクトル V の要素について逆相補誤差関数を計算します。

M = sym([0 1 + i; 1/3 1]);
V = sym([2; inf]);
erfcinv(M)
erfcinv(V)
ans =
[           Inf, NaN]
[ -erfcinv(5/3),   0]

ans =
 -Inf
  NaN

逆相補誤差関数の特別な値

erfcinv は、特定のパラメーターの特別な値を返します。

x = 0x = 1、および x = 2 について逆相補誤差関数を計算します。逆相補誤差関数にはこれらのパラメーター用の特別な値があります。

[erfcinv(0), erfcinv(1), erfcinv(2)]
ans =
   Inf     0  -Inf

逆相補誤差関数を含む式の処理

diffint など、多くの関数は erfcinv を含む式を処理することができます。

逆相補誤差関数の 1 次および 2 次導関数を計算します。

syms x
diff(erfcinv(x), x)
diff(erfcinv(x), x, 2)
ans =
-(pi^(1/2)*exp(erfcinv(x)^2))/2
 
ans =
(pi*exp(2*erfcinv(x)^2)*erfcinv(x))/2

逆相補誤差関数の積分を計算します。

int(erfcinv(x), x)
ans =
exp(-erfcinv(x)^2)/pi^(1/2)

逆相補誤差関数のプロット

逆相補誤差関数を 0 から 2 までの範囲でプロットします。

syms x
fplot(erfcinv(x),[0 2])
grid on

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

入力引数

すべて折りたたむ

入力値。シンボリック数、変数、式または関数、あるいはシンボリック数、変数、式または関数のベクトルまたは行列として指定します。

詳細

すべて折りたたむ

逆相補誤差関数

逆相補誤差関数は、erfc-1(x) として定義され、erfc(erfc-1(x)) = x となります。ここで、

erfc(x)=2πxet2dt=1erf(x)

は相補誤差関数です。

ヒント

  • シンボリック オブジェクトではない数値について erfcinv を呼び出すと、MATLAB® 関数 erfcinv が呼び出されます。この関数では実数の引数だけが受け入れられます。複素数の逆相補誤差関数を計算する場合は、sym を使用してその数値をシンボリック オブジェクトに変換し、そのシンボリック オブジェクトに対して erfcinv を呼び出します。

  • x < 0 または x > 2 の場合、または x が複素数の場合、erfcinv(x)NaN を返します。

アルゴリズム

ツールボックスを使用すれば、誤差関数とその逆関数を含む式を単純化できます。実数値 x については、ツールボックスは次の単純化ルールを適用します。

  • erfinv(erf(x)) = erfinv(1 - erfc(x)) = erfcinv(1 - erf(x)) = erfcinv(erfc(x)) = x

  • erfinv(-erf(x)) = erfinv(erfc(x) - 1) = erfcinv(1 + erf(x)) = erfcinv(2 - erfc(x)) = -x

任意の値 x については、ツールボックスは次の単純化ルールを適用します。

  • erfcinv(x) = erfinv(1 - x)

  • erfinv(-x) = -erfinv(x)

  • erfcinv(2 - x) = -erfcinv(x)

  • erf(erfinv(x)) = erfc(erfcinv(x)) = x

  • erf(erfcinv(x)) = erfc(erfinv(x)) = 1 - x

参照

[1] Gautschi, W. “Error Function and Fresnel Integrals.” Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. (M. Abramowitz and I. A. Stegun, eds.). New York: Dover, 1972.

バージョン履歴

R2012a で導入

参考

| | |