Mercurial > octave-nkf
comparison scripts/statistics/distributions/poissrnd.m @ 14583:89504d0a5c5b stable
poissrnd should return zero when lambda = 0. (Bug # 36326)
poissrnd.m: poissonrnd should return zero when lambda = 0.
Add demos.
author | Ben Abbott <bpabbott@mac.com> |
---|---|
date | Mon, 30 Apr 2012 22:19:14 -0400 |
parents | 72c96de7a403 |
children | f4acb362b513 |
comparison
equal
deleted
inserted
replaced
14572:000cd393f3c1 | 14583:89504d0a5c5b |
---|---|
74 else | 74 else |
75 cls = "double"; | 75 cls = "double"; |
76 endif | 76 endif |
77 | 77 |
78 if (isscalar (lambda)) | 78 if (isscalar (lambda)) |
79 if (lambda > 0 && lambda < Inf) | 79 if (lambda >= 0 && lambda < Inf) |
80 rnd = randp (lambda, sz); | 80 rnd = randp (lambda, sz); |
81 if (strcmp (cls, "single")) | 81 if (strcmp (cls, "single")) |
82 rnd = single (rnd); | 82 rnd = single (rnd); |
83 endif | 83 endif |
84 else | 84 else |
85 rnd = NaN (sz, cls); | 85 rnd = NaN (sz, cls); |
86 endif | 86 endif |
87 else | 87 else |
88 rnd = NaN (sz, cls); | 88 rnd = NaN (sz, cls); |
89 | 89 |
90 k = (lambda > 0) & (lambda < Inf); | 90 k = (lambda >= 0) & (lambda < Inf); |
91 rnd(k) = randp (lambda(k)); | 91 rnd(k) = randp (lambda(k)); |
92 endif | 92 endif |
93 | 93 |
94 endfunction | 94 endfunction |
95 | |
96 | 95 |
97 %!assert(size (poissrnd (2)), [1, 1]); | 96 %!assert(size (poissrnd (2)), [1, 1]); |
98 %!assert(size (poissrnd (ones(2,1))), [2, 1]); | 97 %!assert(size (poissrnd (ones(2,1))), [2, 1]); |
99 %!assert(size (poissrnd (ones(2,2))), [2, 2]); | 98 %!assert(size (poissrnd (ones(2,2))), [2, 2]); |
100 %!assert(size (poissrnd (1, 3)), [3, 3]); | 99 %!assert(size (poissrnd (1, 3)), [3, 3]); |
116 %!error poissrnd (1, [2 -1 2]) | 115 %!error poissrnd (1, [2 -1 2]) |
117 %!error poissrnd (ones(2,2), 3) | 116 %!error poissrnd (ones(2,2), 3) |
118 %!error poissrnd (ones(2,2), [3, 2]) | 117 %!error poissrnd (ones(2,2), [3, 2]) |
119 %!error poissrnd (ones(2,2), 2, 3) | 118 %!error poissrnd (ones(2,2), 2, 3) |
120 | 119 |
120 %!assert (poissrnd (0, 1, 1), 0) | |
121 %!assert (poissrnd ([0, 0, 0], [1, 3]), [0 0 0]) | |
122 |