Épsilon de la máquina MATLAB

Sheeraz Gul 15 febrero 2024
Épsilon de la máquina MATLAB

Este tutorial demuestra la máquina épsilon en MATLAB.

Épsilon de la máquina MATLAB

Machine Precision, también conocida como Machine Epsilon, es la característica de los números aritméticos de doble precisión. Estos números de doble precisión son el estándar IEEE 754 utilizado por MATLAB para almacenar números de punto flotante que son los aproximados de los números reales.

La definición de Machine Epsilon es el máximo error relativo posible de la representación de punto flotante dependiendo del número de bits de mantisa. Matemáticamente, para t-bits de mantisa redondeados según la siguiente ecuación:

Máquina Epsilon Mantisa

El épsilon de la máquina para esta ecuación es:

máquina épsilon

La Máquina Epsilon siempre depende de la implementación. La precisión del cálculo siempre está limitada en el lado del hardware por el tamaño de los registros utilizados para el cálculo.

La precisión del cálculo está limitada por los tipos de datos utilizados para representar los números de coma flotante en el lado del software. Un número de doble precisión se codifica como 64 bits de acuerdo con los estándares IEEE 754, por lo que cuanto menor sea el Machine Epsilon, mayor será el cálculo de precisión relativa.

Principalmente, Machine Epsilon se utiliza para estudiar el efecto del error de redondeo. MATLAB tiene su propio método eps para calcular el épsilon de la máquina; Probamos un ejemplo en el que se comparan tanto MATLAB como un épsilon definido por el usuario:

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);

El código anterior calcula Machine Epsilon utilizando un método definido por el usuario y la función integrada de MATLAB eps. Ver salida:

Our macheps function:
   2.2204e-16

Built-in MATLAB macheps function:
   2.2204e-16
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