Mercurial > hg > octave-nkf
annotate scripts/deprecated/lognormal_rnd.m @ 7962:0665d457fabb
Added tag ss-3-1-51 for changeset a5d1e27ee1f4
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 22 Jul 2008 11:41:09 -0400 |
parents | 1cdb42b372e8 |
children | eb63fbe60fab |
rev | line source |
---|---|
7017 | 1 ## Copyright (C) 1995, 1996, 1997, 2005, 2006, 2007 Kurt Hornik |
5411 | 2 ## |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7016 | 7 ## the Free Software Foundation; either version 3 of the License, or (at |
8 ## your option) any later version. | |
5411 | 9 ## |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
7016 | 16 ## along with Octave; see the file COPYING. If not, see |
17 ## <http://www.gnu.org/licenses/>. | |
5411 | 18 |
19 ## -*- texinfo -*- | |
20 ## @deftypefn {Function File} {} lognormal_rnd (@var{a}, @var{v}, @var{r}, @var{c}) | |
21 ## @deftypefnx {Function File} {} lognormal_rnd (@var{a}, @var{v}, @var{sz}) | |
22 ## Return an @var{r} by @var{c} matrix of random samples from the | |
23 ## lognormal distribution with parameters @var{a} and @var{v}. Both | |
24 ## @var{a} and @var{v} must be scalar or of size @var{r} by @var{c}. | |
25 ## Or if @var{sz} is a vector, create a matrix of size @var{sz}. | |
26 ## | |
27 ## If @var{r} and @var{c} are omitted, the size of the result matrix is | |
28 ## the common size of @var{a} and @var{v}. | |
29 ## @end deftypefn | |
30 | |
5428 | 31 ## Author: KH <Kurt.Hornik@wu-wien.ac.at> |
5411 | 32 ## Description: Random deviates from the log normal distribution |
33 | |
7693
8e5371d47da6
note version when functions were deprecated
John W. Eaton <jwe@octave.org>
parents:
7017
diff
changeset
|
34 ## Deprecated in version 3.0 |
8e5371d47da6
note version when functions were deprecated
John W. Eaton <jwe@octave.org>
parents:
7017
diff
changeset
|
35 |
5411 | 36 function rnd = lognormal_rnd (varargin) |
37 | |
7696
0a362fa8f3c8
Add warning to rest of deprecated functions
David Bateman <dbateman@free.fr>
parents:
7693
diff
changeset
|
38 persistent warned = false; |
0a362fa8f3c8
Add warning to rest of deprecated functions
David Bateman <dbateman@free.fr>
parents:
7693
diff
changeset
|
39 if (! warned) |
0a362fa8f3c8
Add warning to rest of deprecated functions
David Bateman <dbateman@free.fr>
parents:
7693
diff
changeset
|
40 warned = true; |
0a362fa8f3c8
Add warning to rest of deprecated functions
David Bateman <dbateman@free.fr>
parents:
7693
diff
changeset
|
41 warning ("Octave:deprecated-function", |
7704
1cdb42b372e8
don't embed newline in warning messages in deprecated functions
John W. Eaton <jwe@octave.org>
parents:
7696
diff
changeset
|
42 "lognormal_rnd is obsolete and will be removed from a future version of Octave; please use lognrnd instead"); |
7696
0a362fa8f3c8
Add warning to rest of deprecated functions
David Bateman <dbateman@free.fr>
parents:
7693
diff
changeset
|
43 endif |
0a362fa8f3c8
Add warning to rest of deprecated functions
David Bateman <dbateman@free.fr>
parents:
7693
diff
changeset
|
44 |
5692 | 45 if (nargin > 1) |
46 a = varargin{2}; | |
47 idx = a >= 0; | |
48 a(idx) = log (a(idx)); | |
49 a(!idx) = NaN; | |
50 varargin{2} = a; | |
51 endif | |
52 | |
53 if (nargin > 2) | |
54 v = varargin{3}; | |
55 idx = v >= 0; | |
56 v(idx) = sqrt (v(idx)); | |
57 v(!idx) = NaN; | |
58 varargin{3} = v; | |
59 endif | |
60 | |
61 rnd = lognrnd (varargin{:}); | |
5411 | 62 |
63 endfunction |