Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Infinity y NaN

Infinito

representa el infinito por el valor especial.MATLAB®inf El infinito resulta de operaciones como la división por cero y el desbordamiento, que conducen a resultados demasiado grandes para representarse como valores de punto flotante convencionales. también proporciona una función llamada que devuelve la representación aritmética para el infinito positivo como un valor escalar.MATLABinfIEEE®double

Aquí se muestran varios ejemplos de sentencias que devuelven el infinito positivo o negativo.MATLAB

x = 1/0
x =
Inf

x = 1.e1000
x =
   Inf

x = exp(1000)
x =
   Inf

x = log(0)
x =
   -Inf

Utilice la función para verificar que es infinito positivo o negativo:isinfx

x = log(0);  isinf(x) ans =      1 

Nan

representa valores que no son números reales o complejos con un valor especial llamado, que significa "no es un número".MATLABNan Expresiones como y resultan en, al igual que cualquier operación aritmética que implique:0/0inf/infNanNan

x = 0/0 x =     NaN 

También puede crear s por:Nan

x = NaN;  whos x   Name      Size                   Bytes  Class    x         1x1                        8  double 

La función devuelve una de las representaciones aritméticas para como un valor escalar.NanIEEENandouble La representación hexadecimal exacta bit-Wise de este valor es,Nan

format hex x = NaN  x =     fff8000000000000

Utilice siempre la función para verificar que los elementos de una matriz son:isnanNan

isnan(x) ans =       1 

preserva el estado "no es un número" de representaciones alternas y trata todas las representaciones diferentes de forma equivalente.MATLABNanNan Sin embargo, en algunos casos especiales (quizás debido a limitaciones de hardware), no conserva el patrón de bits exacto de las representaciones alternas a lo largo de todo un cálculo, y en su lugar utiliza el patrón de bits canónico definido anteriormente.MATLABNanNan

Operaciones lógicas en NaN

Dado que dos s no son iguales entre sí, las operaciones lógicas que implican siempre devuelven false, excepto para una prueba de desigualdad, ():NanNanNaN ~= NaN

NaN > NaN ans =      0  NaN ~= NaN  ans =      1