binom

PURPOSE ^

SYNOPSIS ^

function a = binom(n,k)

DESCRIPTION ^

 a = binom(n,k)
 BINOMIAL COEFFICIENTS

 allowable inputs:
       n : integer, k : integer
       n : integer vector, k : integer
       n : integer, k : integer vector
       n : integer vector, k : integer vector (of equal dimension)

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function a = binom(n,k)
0002 %
0003 % a = binom(n,k)
0004 % BINOMIAL COEFFICIENTS
0005 %
0006 % allowable inputs:
0007 %       n : integer, k : integer
0008 %       n : integer vector, k : integer
0009 %       n : integer, k : integer vector
0010 %       n : integer vector, k : integer vector (of equal dimension)
0011 %
0012 
0013 % Ivan Selesnick
0014 % selesi@taco.poly.edu
0015 % Polytechnic University
0016 
0017 nv = n;
0018 kv = k;
0019 if (length(nv) == 1) & (length(kv) > 1)
0020         nv = nv * ones(size(kv));
0021 elseif (length(nv) > 1) & (length(kv) == 1)
0022         kv = kv * ones(size(nv));
0023 end
0024 a = nv;
0025 for i = 1:length(nv)
0026    n = nv(i);
0027    k = kv(i);
0028    if n >= 0
0029       if k >= 0
0030          if n >= k
0031             c = prod(1:n)/(prod(1:k)*prod(1:n-k));
0032          else
0033             c = 0;
0034         end
0035      else
0036         c = 0;
0037      end
0038    else
0039       if k >= 0
0040          c = (-1)^k * prod(1:k-n-1)/(prod(1:k)*prod(1:-n-1));
0041       else
0042          if n >= k
0043             c = (-1)^(n-k)*prod(1:-k-1)/(prod(1:n-k)*prod(1:-n-1));
0044          else
0045             c = 0;
0046          end
0047       end
0048    end
0049    a(i) = c;
0050 end
0051 
0052

Generated on Mon 10-Jun-2013 23:03:23 by m2html © 2005