Main Content

log1p

작은 X에 대해 1+X의 자연 로그를 정확하게 계산

설명

예제

Y = log1p(X)1+X를 명시적으로 계산하지 않고 배열 X의 각 요소에 대한 자연 로그 log(1+X)를 계산합니다. X < -1인 경우 Y는 복소수입니다. 이 함수는 1+X의 반올림 오차를 보상하므로 X의 작은 실수 값에 대해 더 정확합니다.

예제

모두 축소

log(1+X)log1p(X)의 정확도를 비교합니다.

작은 실수 값으로 구성된 벡터를 만듭니다.

X = [-1e-16 1e-15 2e-14]
X = 1×3
10-13 ×

   -0.0010    0.0100    0.2000

log 함수를 사용하여 1+X의 자연 로그를 계산합니다.

Y = log(1+X)
Y = 1×3
10-13 ×

   -0.0011    0.0111    0.1998

결과는 0이거나 큰 상대 오차를 가질 수 있습니다. 예를 들어, Y(2)X(2)(즉, 1e-15)에 가깝지 않습니다.

Y(2)
ans = 1.1102e-15

log1p 함수를 사용하여 1+X의 자연 로그를 계산합니다.

Y = log1p(X)
Y = 1×3
10-13 ×

   -0.0010    0.0100    0.2000

이 경우 log1p(X)는 거의 X가 되며 결과가 더 정확합니다. 예를 들어, Y(2)는 이제 X(2)(즉, 1e-15)에 가깝습니다.

Y(2)
ans = 1.0000e-15

입력 인수

모두 축소

입력 배열로, 스칼라, 벡터, 행렬, 다차원 배열, table형 또는 timetable형으로 지정됩니다.

데이터형: single | double | table | timetable
복소수 지원 여부:

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

모두 확장

참고 항목

|