factorial

Синтаксис

Описание

пример

f = factorial(n) возвращает произведение всех положительных целых чисел, меньше чем или равное n, где n неотрицательное целочисленное значение. Если n массив, затем f содержит факториал каждого значения n. Тип данных и размер f совпадает с тем из n.

Факториал n обычно написан в математическом обозначении с помощью символа восклицательного знака в качестве n!. Обратите внимание на то, что n! не допустимый MATLAB® синтаксис для вычисления факториала n.

Примеры

свернуть все

f = factorial(10)
f = 3628800
format long
f = factorial(22)
f = 
     1.124000727777608e+21

В этом случае, f точно до 15 цифр, 1.12400072777760e+21, потому что числа с двойной точностью только точны до 15 цифр.

Сбросьте выходной формат к значению по умолчанию.

format
n = [0 1 2; 3 4 5];
f = factorial(n)
f = 2×3

     1     1     2
     6    24   120

n = uint64([5 10 15 20]);
f = factorial(n)
f = 1x4 uint64 row vector

                   120               3628800         1307674368000   2432902008176640000

Входные параметры

свернуть все

Входные значения в виде скаляра, вектора или массива действительных, неотрицательных целых чисел.

Пример 5

Пример: [0 1 2 3 4]

Пример: int16([10 15 20])

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Советы

Ограничения

  • Для входных параметров с двойной точностью результат точен когда n меньше чем или равно 21. Большие значения n приведите к результату, который имеет правильный порядок величины и точен для первых 15 цифр. Это вызвано тем, что числа с двойной точностью только точны до 15 цифр.

  • Для входных параметров с одинарной точностью результат точен когда n меньше чем или равно 13. Большие значения n приведите к результату, который имеет правильный порядок величины и точен для первых 8 цифр. Это вызвано тем, что числа с одинарной точностью только точны до 8 цифр.

Насыщение

  • Приведенная ниже таблица описывает поведение насыщения каждого типа данных, когда используется с factorial функция. Значения в последнем столбце указывают на точку насыщения; то есть, первое положительное целое число, фактический факториал которого больше, чем максимальное представимое значение в среднем столбце. Для single и double, все значения, больше, чем максимальное значение, возвращены как Inf. Для целочисленных типов данных степень насыщения равна максимальному значению в среднем столбце.

    Тип данныхМаксимальное значениеФакториальный порог насыщения
    doublerealmaxfactorial(171)
    singlerealmax('single')factorial(single(35))
    uint64264-1factorial(uint64(21))
    int64263-1factorial(int64(21))
    uint32232-1factorial(uint32(13))
    int32231-1factorial(int32(13))
    uint16216-1factorial(uint16(9))
    int16215-1factorial(int16(8))
    uint828-1factorial(uint8(6))
    int827-1factorial(int8(6))

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.

Смотрите также

Представлено до R2006a