comparison scripts/statistics/distributions/nbinrnd.m @ 10549:95c3e38098bf

Untabify .m scripts
author Rik <code@nomad.inbox5.com>
date Fri, 23 Apr 2010 11:28:50 -0700
parents 3306cfcb856e
children be55736a0783
comparison
equal deleted inserted replaced
10548:479536c5bb10 10549:95c3e38098bf
35 35
36 if (nargin > 1) 36 if (nargin > 1)
37 if (!isscalar(n) || !isscalar(p)) 37 if (!isscalar(n) || !isscalar(p))
38 [retval, n, p] = common_size (n, p); 38 [retval, n, p] = common_size (n, p);
39 if (retval > 0) 39 if (retval > 0)
40 error ("nbinrnd: n and p must be of common size or scalar"); 40 error ("nbinrnd: n and p must be of common size or scalar");
41 endif 41 endif
42 endif 42 endif
43 endif 43 endif
44 44
45 if (nargin == 4) 45 if (nargin == 4)
50 error ("nbinrnd: c must be a positive integer"); 50 error ("nbinrnd: c must be a positive integer");
51 endif 51 endif
52 sz = [r, c]; 52 sz = [r, c];
53 53
54 if (any (size (n) != 1) && 54 if (any (size (n) != 1) &&
55 ((length (size (n)) != length (sz)) || any (size (n) != sz))) 55 ((length (size (n)) != length (sz)) || any (size (n) != sz)))
56 error ("nbinrnd: n and p must be scalar or of size [r, c]"); 56 error ("nbinrnd: n and p must be scalar or of size [r, c]");
57 endif 57 endif
58 58
59 elseif (nargin == 3) 59 elseif (nargin == 3)
60 if (isscalar (r) && (r > 0)) 60 if (isscalar (r) && (r > 0))
64 else 64 else
65 error ("nbinrnd: r must be a positive integer or vector"); 65 error ("nbinrnd: r must be a positive integer or vector");
66 endif 66 endif
67 67
68 if (any (size (n) != 1) && 68 if (any (size (n) != 1) &&
69 ((length (size (n)) != length (sz)) || any (size (n) != sz))) 69 ((length (size (n)) != length (sz)) || any (size (n) != sz)))
70 error ("nbinrnd: n and p must be scalar or of size sz"); 70 error ("nbinrnd: n and p must be scalar or of size sz");
71 endif 71 endif
72 elseif (nargin == 2) 72 elseif (nargin == 2)
73 sz = size(n); 73 sz = size(n);
74 else 74 else
77 77
78 if (isscalar (n) && isscalar (p)) 78 if (isscalar (n) && isscalar (p))
79 if ((n < 1) || (n == Inf) || (n != round (n)) || (p <= 0) || (p > 1)); 79 if ((n < 1) || (n == Inf) || (n != round (n)) || (p <= 0) || (p > 1));
80 rnd = NaN (sz); 80 rnd = NaN (sz);
81 elseif ((n > 0) && (n < Inf) && (n == round (n)) && 81 elseif ((n > 0) && (n < Inf) && (n == round (n)) &&
82 (p > 0) && (p <= 1)) 82 (p > 0) && (p <= 1))
83 rnd = randp ((1 - p) ./ p .* randg (n, sz)); 83 rnd = randp ((1 - p) ./ p .* randg (n, sz));
84 else 84 else
85 rnd = zeros (sz); 85 rnd = zeros (sz);
86 endif 86 endif
87 else 87 else
88 rnd = zeros (sz); 88 rnd = zeros (sz);
89 89
90 k = find ((n < 1) || (n == Inf) || (n != round (n)) || 90 k = find ((n < 1) || (n == Inf) || (n != round (n)) ||
91 (p <= 0) || (p > 1)); 91 (p <= 0) || (p > 1));
92 if (any (k)) 92 if (any (k))
93 rnd(k) = NaN; 93 rnd(k) = NaN;
94 endif 94 endif
95 95
96 k = find ((n > 0) & (n < Inf) & (n == round (n)) & (p > 0) & (p <= 1)); 96 k = find ((n > 0) & (n < Inf) & (n == round (n)) & (p > 0) & (p <= 1));