Main Content

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

erfc

構文

説明

erfc(x) は、x の各要素について評価した相補誤差関数を返します。erf(x)1 に近い場合、高い精度を得るために 1 - erf(x) の代わりに関数 erfc を使用します。

すべて折りたたむ

値の相補誤差関数を求めます。

erfc(0.35)
ans = 0.6206

ベクトルの要素の相補誤差関数を求めます。

V = [-0.5 0 1 0.72];
erfc(V)
ans = 1×4

    1.5205    1.0000    0.1573    0.3086

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

M = [0.29 -0.11; 3.1 -2.9];
erfc(M)
ans = 2×2

    0.6817    1.1236
    0.0000    2.0000

加法性ホワイト ガウス ノイズがあると仮定して、バイナリ位相シフト キーイング (BPSK) のビット誤り率 (BER) は次の式で表されます。

Pb=12erfc(EbN0).

0dB から 10dB まで、Eb/N0 の値について BPSK の BER をプロットします。

EbN0_dB = 0:0.1:10;
EbN0 = 10.^(EbN0_dB/10);
BER = 1/2.*erfc(sqrt(EbN0));
semilogy(EbN0_dB,BER)
grid on
ylabel('BER')
xlabel('E_b/N_0 (dB)')
title('Bit Error Rate for Binary Phase-Shift Keying')

Figure contains an axes object. The axes object with title Bit Error Rate for Binary Phase-Shift Keying, xlabel E indexOf b/N 0 baseline blank (dB), ylabel BER contains an object of type line.

1 - erf(x) の代わりに相補誤差関数 erfc を使用すると、erf(x)1 に近い場合に丸め誤差の発生を防ぐことができます。

erfc(10) を使用して 1 - erf(10) を計算することで丸め誤差の発生を防止する方法を示します。元の計算は 0 を返しますが、erfc(10) は正しい結果を返します。

1 - erf(10)
ans = 0
erfc(10)
ans = 2.0885e-45

入力引数

すべて折りたたむ

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

データ型: single | double

詳細

すべて折りたたむ

相補誤差関数

x の相補誤差関数は、次の式で定義されます。

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

誤差関数との関係は次の式で表されます。

erfc(x)=1erf(x).

ヒント

  • 関数 normcdf (Statistics and Machine Learning Toolbox) を使用しても、標準正規確率分布を得ることができます。誤差関数 erfcnormcdf の関係は次のとおりです。

    normcdf(x)=(12)×erfc(x2)

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

  • exp(x^2)*erfc(x) の形式の式では、代わりにスケーリング相補誤差関数 erfcx を使用します。この置き換えでは、x の値が大きいときの丸め誤差の発生を防ぐことにより、精度が維持されます。

拡張機能

バージョン履歴

R2006a より前に導入

参考

| | |