오차함수(erf·erfc) 계산기
오차함수 erf(x)와 여오차함수 erfc(x)를 유효숫자를 잃지 않고 계산합니다. erfc를 1 − erf로 구하면 자릿수가 날아가는 상쇄 현상을 두 값을 나란히 놓아 보여 주고, 정규분포 꼬리 확률과 가우스 적분도 함께 냅니다.
음수도 넣을 수 있습니다. 4 이상으로 올리면 1 − erf가 무너지는 것이 보입니다
erf(1)
0.842700792949715
erfc = 1.572992070503 × 10^-1
이 넓이에 2/√π를 곱한 것이 erf(x)입니다
계산 방법
- 1x에 값을 넣으면 erf(x)와 erfc(x)가 바로 나옵니다.
- 2x를 4 이상으로 올려 보면 «1 − erf로 구한 값»이 참값에서 벗어나기 시작합니다.
- 3x를 6 이상으로 올리면 1 − erf가 아예 0이 되어 버리는 것을 볼 수 있습니다.
- 4정규분포 꼬리 확률이 필요하면 Φ(x)와 Q(x) 행을 봅니다. x를 z값으로 넣으면 됩니다.
자주 묻는 질문
erf(x) = 2/√π ∫₀ˣ e^(−t²)dt로 정의되는 함수입니다. 종 모양 곡선 e^(−t²) 아래 넓이를 0부터 x까지 잰 것에 전체 넓이가 1이 되도록 2/√π를 곱한 값이라, 0에서 0이고 x가 커지면 1로 다가갑니다. 초등함수(다항식·지수·삼각함수의 조합)로는 적을 수 없어 급수나 연분수로 계산해야 합니다.
큰 x에서 유효숫자가 통째로 날아가기 때문입니다. erf(6)은 0.99999999999999998인데 배정밀도 실수는 1 근처에서 약 10⁻¹⁶ 간격으로만 값을 담을 수 있어, 1에서 빼면 남는 자릿수가 없습니다. 실제로 이 계산기에 x = 6을 넣으면 1 − erf가 정확히 0이 되는 것을 볼 수 있습니다. 그래서 erfc는 처음부터 자기 자신의 식(연분수)으로 따로 계산합니다.
표준정규분포의 누적분포는 Φ(z) = ½(1 + erf(z/√2))입니다. 정규분포의 밀도가 e^(−z²/2)라 erf의 e^(−t²)와 √2만큼 축척이 다를 뿐 같은 적분이기 때문입니다. 상측 꼬리 확률은 Q(z) = ½·erfc(z/√2)로 구하는데, 1 − Φ(z)로 구하면 z가 클 때 같은 상쇄 문제가 생깁니다.
erfcx(x) = e^(x²)·erfc(x)로, erfc에서 급격히 작아지는 부분을 떼어낸 값입니다. erfc(x)는 x가 27쯤부터 배정밀도가 담을 수 있는 최소값 아래로 내려가 0이 되어 버리지만, erfcx는 x가 커져도 1/(x√π)로 천천히 줄어들 뿐이라 언더플로가 없습니다. 이 계산기가 erfc가 0으로 뭉개진 뒤에도 log₁₀ erfc를 낼 수 있는 것은 erfcx를 함께 계산하기 때문입니다.
|x| < 1.5에서는 항이 전부 양수인 급수를, 그 이상에서는 연분수를 씁니다. 흔히 쓰는 매클로린 급수는 부호가 번갈아 나와 x가 커지면 큰 항끼리 빼면서 정밀도를 잃으므로, 여기서는 erf(x) = 2/√π·e^(−x²)·Σ 2ⁿx^(2n+1)/(1·3···(2n+1))라는 동치 급수를 씁니다. 큰 x에서는 연분수를 수정 렌츠법으로 돌리는데 x가 클수록 빨리 수렴해 x = 5면 20회 안쪽에 끝납니다.
확산과 열전도의 해가 대표적입니다. 반무한 고체의 온도가 T(x,t) = T₀·erfc(x/(2√(αt)))로 적히고, 반도체 불순물 확산 농도도 같은 꼴입니다. 통신에서 비트오류율, 통계에서 정규분포 꼬리 확률, 광학에서 빔 프로파일도 모두 이 함수로 표현됩니다.
상대오차 10⁻¹⁵ 안쪽입니다. 200자리 고정소수점으로 따로 계산한 값을 정답지로 삼아 테스트에 박아 두었고, erf(1) = 0.842700792949714869…, erfc(5) = 1.5374597944280348×10⁻¹² 같은 널리 인용되는 값과 일치합니다. 다만 이것은 «erfc를 제 식으로 구했을 때»의 이야기이고, 1 − erf로 구한 값은 x가 커질수록 자릿수를 잃습니다.
전송되지 않습니다. 계산은 모두 브라우저 안에서 이루어지며 입력한 값은 이 기기에만 남습니다.
알아두면 좋은 점
- erf는 홀함수라 erf(−x) = −erf(x)이고, erfc(−x) = 2 − erfc(x)입니다. 음수 쪽은 2에 붙으므로 상쇄가 생기지 않습니다.
- x가 약 27을 넘으면 erfc(x)가 배정밀도의 표현 범위를 벗어나 0으로 표시됩니다. 그때는 erfcx와 log₁₀ erfc 행을 보십시오.
- 복소수 인수는 다루지 않습니다. 실수 x에 대해서만 계산합니다.
- 역함수 erf⁻¹은 이 계산기에 없습니다. 확률에서 z값을 거꾸로 구하려면 z점수 계산기를 쓰십시오.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 2일 · 결과는 참고용 추정치입니다.