Факториал ввода
f = factorial( возвращает произведение всех положительных чисел, меньших или равных n)n, где n - неотрицательное целое значение. Если n является массивом, то f содержит факториал каждого значения n. Тип данных и размер f является таким же, как у n.
Факториал n обычно записывается в математической нотации с использованием символа восклицательного знака n!. Обратите внимание, что n! не является допустимым синтаксисом MATLAB ® для вычисления факториала n.
Ограничения
Для вводов с двойной точностью результат является точным, когда n меньше или равно 21. Большие значения n получить результат, который имеет правильный порядок величины и является точным для первых 15 цифр. Это связано с тем, что числа с двойной точностью имеют точность до 15 цифр.
Для вводов с одинарной точностью результат является точным, когда n меньше или равно 13. Большие значения n получить результат, который имеет правильный порядок величины и является точным для первых 8 цифр. Это связано с тем, что номера с одинарной точностью имеют точность до 8 цифр.
Насыщенность
В таблице ниже описано поведение насыщения каждого типа данных при использовании с factorial функция. Значения в последнем столбце указывают точку насыщения; то есть первое положительное целое число, фактический факториал которого больше максимального представимого значения в среднем столбце. Для single и double, все значения, превышающие максимальное значение, возвращаются как Inf. Для целочисленных типов данных значение насыщенности равно максимальному значению в среднем столбце.
| Тип данных | Максимальное значение | Порог факторного насыщения |
|---|---|---|
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)) |