This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Complementary error function





erfc(x) returns the Complementary Error Function evaluated for each element of x. Use the erfc function to replace 1 - erf(x) for greater accuracy when erf(x) is close to 1.


collapse all

Find the complementary error function of a value.

ans = 0.6206

Find the complementary error function of the elements of a vector.

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

    1.5205    1.0000    0.1573    0.3086

Find the complementary error function of the elements of a matrix.

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

    0.6817    1.1236
    0.0000    2.0000

The bit error rate (BER) of binary phase-shift keying (BPSK), assuming additive white Gaussian noise (AWGN), is


Plot the BER for BPSK for values of Eb/N0 from 0dB to 10dB.

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

You can use the complementary error function erfc in place of 1 - erf(x) to avoid roundoff errors when erf(x) is close to 1.

Show how to avoid roundoff errors by calculating 1 - erf(10) using erfc(10). The original calculation returns 0 while erfc(10) returns the correct result.

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

Input Arguments

collapse all

Input, specified as a real number, or a vector, matrix, or multidimensional array of real numbers. x cannot be sparse.

Data Types: single | double

More About

collapse all

Complementary Error Function

The complementary error function of x is defined as


It is related to the error function as



  • You can also find the standard normal probability distribution using the Statistics and Machine Learning Toolbox™ function normcdf. The relationship between the error function erfc and normcdf is


  • For expressions of the form 1 - erfc(x), use the error function erf instead. This substitution maintains accuracy. When erfc(x) is close to 1, then 1 - erfc(x) is a small number and might be rounded down to 0. Instead, replace 1 - erfc(x) with erf(x).

  • For expressions of the form exp(x^2)*erfc(x), use the scaled complementary error function erfcx instead. This substitution maintains accuracy by avoiding roundoff errors for large values of x.

Extended Capabilities

See Also

| | |

Introduced before R2006a