факториал

Факториал входного параметра

Синтаксис

f = factorial(n)

Описание

пример

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. Для целочисленных типов данных степень насыщения равна максимальному значению в среднем столбце.

    Тип данныхМаксимальное значениеФакториальный порог насыщенности
    'double'realmaxfactorial(171)
    единственныйrealmax('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™.

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

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

Была ли эта тема полезной?