0001 function a = binom(n,k)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
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