Mercurial > octave-nkf
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)); |