SSJ API Documentation
Stochastic Simulation in Java
Loading...
Searching...
No Matches
LogisticGen.java
1/*
2 * Class: LogisticGen
3 * Description: random variate generators for the logistic distribution
4 * Environment: Java
5 * Software: SSJ
6 * Copyright (C) 2001 Pierre L'Ecuyer and Universite de Montreal
7 * Organization: DIRO, Universite de Montreal
8 * @author
9 * @since
10 *
11 *
12 * Licensed under the Apache License, Version 2.0 (the "License");
13 * you may not use this file except in compliance with the License.
14 * You may obtain a copy of the License at
15 *
16 * http://www.apache.org/licenses/LICENSE-2.0
17 *
18 * Unless required by applicable law or agreed to in writing, software
19 * distributed under the License is distributed on an "AS IS" BASIS,
20 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 * See the License for the specific language governing permissions and
22 * limitations under the License.
23 *
24 */
25package umontreal.ssj.randvar;
26
27import umontreal.ssj.rng.*;
28import umontreal.ssj.probdist.*;
29
45public class LogisticGen extends RandomVariateGen {
46 protected double alpha = -1.0;
47 protected double lambda = -1.0;
48
54 public LogisticGen(RandomStream s, double alpha, double lambda) {
55 super(s, new LogisticDist(alpha, lambda));
56 setParams(alpha, lambda);
57 }
58
65 this(s, 0.0, 1.0);
66 }
67
72 super(s, dist);
73 if (dist != null)
74 setParams(dist.getAlpha(), dist.getLambda());
75 }
76
83 public static double nextDouble(RandomStream s, double alpha, double lambda) {
84 return LogisticDist.inverseF(alpha, lambda, s.nextDouble());
85 }
86
90 public double getAlpha() {
91 return alpha;
92 }
93
97 public double getLambda() {
98 return lambda;
99 }
100
104 protected void setParams(double alpha, double lambda) {
105 if (lambda <= 0.0)
106 throw new IllegalArgumentException("lambda <= 0");
107 this.lambda = lambda;
108 this.alpha = alpha;
109 }
110}
Extends the class ContinuousDistribution for the logistic distribution (e.g., tjoh95b  (page 115)).
double inverseF(double u)
Returns the inverse distribution function .
LogisticGen(RandomStream s, double alpha, double lambda)
Creates a logistic random variate generator with parameters.
double getAlpha()
Returns the parameter of this object.
void setParams(double alpha, double lambda)
Sets the parameter and of this object.
static double nextDouble(RandomStream s, double alpha, double lambda)
Generates a new variate from the logistic distribution with parameters &#160;alpha and &#160;lambda,...
double getLambda()
Returns the parameter of this object.
LogisticGen(RandomStream s, LogisticDist dist)
Creates a new generator for the logistic distribution dist and stream s.
LogisticGen(RandomStream s)
Creates a logistic random variate generator with parameters.
This interface defines the basic structures to handle multiple streams of uniform (pseudo)random numb...
double nextDouble()
Returns a (pseudo)random number from the uniform distribution over the interval , using this stream,...