exponenta event banner

факториал

Синтаксис

Описание

пример

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 ® с помощью Coder™ графических процессоров

.

См. также

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