MATLAB 머신 엡실론

Sheeraz Gul 2024년2월15일
MATLAB 머신 엡실론

이 자습서에서는 MATLAB의 기계 엡실론을 보여줍니다.

MATLAB 머신 엡실론

Machine Epsilon이라고도 하는 Machine Precision은 배정밀도 산술 숫자의 특징입니다. 이러한 배정밀도 숫자는 실수에 대한 근사치인 부동 소수점 숫자를 저장하기 위해 MATLAB에서 사용하는 표준 IEEE 754입니다.

Machine Epsilon에 대한 정의는 가수의 비트 수에 따라 부동 소수점 표현의 가능한 최대 상대 오류입니다. 수학적으로 다음 방정식에 따라 반올림된 가수의 t-비트에 대해:

기계 엡실론 가수

이 방정식의 기계 엡실론은 다음과 같습니다.

머신 엡실론

Machine Epsilon은 항상 구현에 따라 다릅니다. 계산 정밀도는 항상 계산에 사용되는 레지스터의 크기에 따라 하드웨어 측에서 제한됩니다.

계산 정밀도는 소프트웨어 측에서 부동 소수점 숫자를 나타내는 데 사용되는 데이터 유형에 의해 제한됩니다. 배정밀도 숫자는 IEEE 754 표준에 따라 64비트로 코딩되므로 Machine Epsilon이 낮을수록 상대 정밀도 계산이 커집니다.

대부분 Machine Epsilon은 반올림 오류의 영향을 연구하는 데 사용됩니다. MATLAB에는 머신 엡실론을 계산하는 자체 eps 메서드가 있습니다. MATLAB과 사용자 정의 엡실론을 모두 비교하는 예제를 시도했습니다.

macheps = double(1.0);
previous_macheps = macheps;

while(1 < (1 + macheps))
    previous_macheps = macheps;
    macheps = macheps / 2;
end

disp('Our macheps function: ');
disp(previous_macheps);

disp('Built-in MATLAB macheps function: ');
disp(eps);

위의 코드는 사용자 정의 방법과 내장된 MATLAB 함수 eps를 사용하여 Machine Epsilon을 계산합니다. 출력 참조:

Our macheps function:
   2.2204e-16

Built-in MATLAB macheps function:
   2.2204e-16
작가: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook