factorial
Factorial de una entrada
Sintaxis
Descripción
f = factorial(
devuelve el producto de todos los enteros positivos menores que o iguales a n
)n
, donde n
es un valor entero no negativo. Si n
es un arreglo, f
contiene el factorial de cada valor de n
. El tipo de datos y el tamaño de f
son los mismos que los de n
.
El factorial de n
normalmente se escribe en notación matemática con el carácter de exclamación como n!. Tenga en cuenta que n!
no es una sintaxis de MATLAB® válida para calcular el factorial de n
.
Ejemplos
Argumentos de entrada
Sugerencias
Limitaciones
Para entradas de doble precisión, el resultado es exacto cuando
n
es menor que o igual a21
. Los valores den
mayores generan un resultado que tiene el orden de magnitud correcto y es preciso en los primeros 15 dígitos. Esto se debe a que los números de doble precisión solo son precisos hasta 15 dígitos.Para entradas de precisión simple, el resultado es exacto cuando
n
es menor que o igual a13
. Los valores den
mayores generan un resultado que tiene el orden de magnitud correcto y es preciso en los primeros 8 dígitos. Esto se debe a que los números de precisión simple solo son precisos hasta 8 dígitos.
Saturación
La tabla que aparece a continuación describe el comportamiento de saturación de cada tipo de datos cuando se utiliza con la función
factorial
. Los valores de la última columna indican el punto de saturación, es decir, el primer entero positivo cuyo factorial real es mayor que el valor máximo representable de la columna central. Parasingle
ydouble
, todos los valores mayores que el valor máximo se devuelven comoInf
. Para los tipos de datos de valores enteros, el valor de saturación es igual al valor máximo de la columna central.Tipo de datos Valor máximo Umbral de saturación factorial double
realmax
factorial(171)
single
realmax('single')
factorial(single(35))
uint64
264-1 factorial(uint64(21))
int64
263-1 factorial(int64(21))
uint32
232-1 factorial(uint32(13))
int32
231-1 factorial(int32(13))
uint16
216-1 factorial(uint16(9))
int16
215-1 factorial(int16(8))
uint8
28-1 factorial(uint8(6))
int8
27-1 factorial(int8(6))
Capacidades ampliadas
Historial de versiones
Introducido antes de R2006a