Binomial coefficient
From Wikimization
(Difference between revisions)
| Line 1: | Line 1: | ||
== full definition, Matlab == | == full definition, Matlab == | ||
| - | binomial coefficient from M.J. Kronenburg [336] | + | binomial coefficient from M.J. Kronenburg [336]. |
Also see: [https://www.wolframalpha.com/input/?i=binomial+coefficient&assumption=%7B%22F%22%2C+%22BinomialCoefficientCalculator%22%2C+%22n%22%7D+-%3E%22-10%22&assumption=%7B%22F%22%2C+%22BinomialCoefficientCalculator%22%2C+%22k%22%7D+-%3E%225%22&assumption=%7B%22C%22%2C+%22binomial+coefficient%22%7D+-%3E+%7B%22Calculator%22%7D Wolfram <math>\alpha</math>] | Also see: [https://www.wolframalpha.com/input/?i=binomial+coefficient&assumption=%7B%22F%22%2C+%22BinomialCoefficientCalculator%22%2C+%22n%22%7D+-%3E%22-10%22&assumption=%7B%22F%22%2C+%22BinomialCoefficientCalculator%22%2C+%22k%22%7D+-%3E%225%22&assumption=%7B%22C%22%2C+%22binomial+coefficient%22%7D+-%3E+%7B%22Calculator%22%7D Wolfram <math>\alpha</math>] | ||
Current revision
full definition, Matlab
binomial coefficient from M.J. Kronenburg [336].
Also see: Wolfram
function y = binomial(n, k)
if ~k || k == n
y = 1;
elseif k == 1
y = n;
elseif n < 0
if k > 0
y = (-1)^k*nchoosek(-n+k-1, k);
elseif k <= n
y = (-1)^(n-k)*nchoosek(-k-1, n-k);
elseif n < k && k < 0
y = 0;
end
elseif n >= 0
if k < 0 || k > n
y = 0;
else
y = nchoosek(n,k);
end
end
return
References
336. M.J. Kronenburg, "The Binomial Coefficient for Negative Arguments", arXiv:1105.3689v2