nchoosek

Биномиальный коэффициент

Описание

пример

b = nchoosek(n,k) возвращает биномиальный коэффициент n и k, заданный как n!/(k!(n - k)!). Это - количество комбинаций n элементы взятый k за один раз.

пример

C = nchoosek(v,k) возвращает матрицу, содержащую все возможные комбинации элементов векторного v взятый k за один раз. Матричный C имеет k столбцы и n!/(k!(n - k)!) строки, где n length(v). В этом синтаксисе, k должно быть неотрицательное целое число.

Примеры

Биномиальные коэффициенты для числовых и символьных аргументов

Вычислите биномиальные коэффициенты для этих выражений.

syms n
[nchoosek(n, n), nchoosek(n, n + 1), nchoosek(n, n - 1)]
ans =
[ 1, 0, n]

Если один или оба параметра являются отрицательными числами, преобразуют эти числа в символьные объекты.

[nchoosek(sym(-1), 3), nchoosek(sym(-7), 2), nchoosek(sym(-5), -5)]
ans =
[ -1, 28, 1]

Если один или оба параметра являются комплексными числами, преобразуют эти числа в символьные объекты.

[nchoosek(sym(i), 3), nchoosek(sym(i), i), nchoosek(sym(i), i + 1)]
ans =
[ 1/2 + 1i/6, 1, 0]

Обработайте выражения, содержащие биномиальные коэффициенты

Много функций, таких как diff и expand, может обработать выражения, содержащие nchoosek.

Дифференцируйте биномиальный коэффициент.

syms n k
diff(nchoosek(n, 2))
ans =
-(psi(n - 1) - psi(n + 1))*nchoosek(n, 2)

Расширьте биномиальный коэффициент.

expand(nchoosek(n, k))
ans =
-(n*gamma(n))/(k^2*gamma(k)*gamma(n - k) - k*n*gamma(k)*gamma(n - k))

Треугольник Паскаля

Используйте nchoosek создавать треугольник Паскаля.

m = 5;
for n = 0:m
    C = sym([]);
  for k = 0:n
    C = horzcat(C, nchoosek(n, k));
  end
  disp(C)
end
1
[ 1, 1]
[ 1, 2, 1]
[ 1, 3, 3, 1]
[ 1, 4, 6, 4, 1]
[ 1, 5, 10, 10, 5, 1]

Все комбинации векторных элементов

Найдите все комбинации элементов 1- 5 символьный вектор-строка, взятый три и четыре за один раз.

Создайте 1- 5 символьный вектор с элементами x1x2 , x3, x4, и x5.

v = sym('x', [1, 5])
v =
[ x1, x2, x3, x4, x5]

Найдите все комбинации элементов v взятый три за один раз.

C = nchoosek(v, 3)
C =
[ x1, x2, x3]
[ x1, x2, x4]
[ x1, x3, x4]
[ x2, x3, x4]
[ x1, x2, x5]
[ x1, x3, x5]
[ x2, x3, x5]
[ x1, x4, x5]
[ x2, x4, x5]
[ x3, x4, x5]
C = nchoosek(v, 4)
C =
[ x1, x2, x3, x4]
[ x1, x2, x3, x5]
[ x1, x2, x4, x5]
[ x1, x3, x4, x5]
[ x2, x3, x4, x5]

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

свернуть все

Количество возможных элементов для выбора в виде символьного числа, переменной, выражения или функции.

Количество выбранных элементов для выбора в виде символьного числа, переменной, выражения или функции. Если первым аргументом является символьный векторный v, затем k должно быть неотрицательное целое число.

Множество всех элементов для выбора в виде вектора символьных чисел, переменных, выражений или функций.

Выходные аргументы

свернуть все

Биномиальный коэффициент, возвращенный как неотрицательное скалярное значение.

Все комбинации v, возвращенный как матрица того же типа как v.

Больше о

свернуть все

Биномиальный коэффициент

Если n и k являются целыми числами и 0 ≤ k ≤ n, биномиальный коэффициент задан как:

(nk)=n!k!(nk)!

Для комплексных чисел биномиальный коэффициент задан через gamma функция:

(nk)=Γ(n+1)Γ(k+1)Γ(nk+1)

Советы

  • Вызов nchoosek для чисел, которые не являются символьными объектами, вызывает MATLAB® nchoosek функция.

  • Если один или оба параметра являются комплексными или отрицательными числами, преобразуют эти числа в символьные объекты с помощью sym, и затем вызовите nchoosek для тех символьных объектов.

Алгоритмы

Если k < 0 или n – k < 0, nchoosek(n,k) возвращается 0.

Если один или оба аргумента являются комплексными, nchoosek использует формулу, представляющую биномиальный коэффициент через gamma функция.

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

| | |

Представленный в R2012a