Struct ndarray_rand::rand_distr::LogNormal [−][src]
The log-normal distribution ln N(mean, std_dev**2)
.
If X
is log-normal distributed, then ln(X)
is N(mean, std_dev**2)
distributed.
Example
use rand_distr::{LogNormal, Distribution}; // mean 2, standard deviation 3 let log_normal = LogNormal::new(2.0, 3.0).unwrap(); let v = log_normal.sample(&mut rand::thread_rng()); println!("{} is from an ln N(2, 9) distribution", v)
Implementations
impl<F> LogNormal<F> where
F: Float,
StandardNormal: Distribution<F>,
[src]
F: Float,
StandardNormal: Distribution<F>,
pub fn new(mu: F, sigma: F) -> Result<LogNormal<F>, Error>
[src]
Construct, from (log-space) mean and standard deviation
Parameters are the “standard” log-space measures (these are the mean and standard deviation of the logarithm of samples):
mu
(μ
, unrestricted) is the mean of the underlying distributionsigma
(σ
, must be finite) is the standard deviation of the underlying Normal distribution
pub fn from_mean_cv(mean: F, cv: F) -> Result<LogNormal<F>, Error>
[src]
Construct, from (linear-space) mean and coefficient of variation
Parameters are linear-space measures:
- mean (
μ > 0
) is the (real) mean of the distribution - coefficient of variation (
cv = σ / μ
, requiringcv ≥ 0
) is a standardized measure of dispersion
As a special exception, μ = 0, cv = 0
is allowed (samples are -inf
).
pub fn from_zscore(&self, zscore: F) -> F
[src]
Sample from a z-score
This may be useful for generating correlated samples x1
and x2
from two different distributions, as follows.
let mut rng = thread_rng(); let z = StandardNormal.sample(&mut rng); let x1 = LogNormal::from_mean_cv(3.0, 1.0).unwrap().from_zscore(z); let x2 = LogNormal::from_mean_cv(2.0, 4.0).unwrap().from_zscore(z);
Trait Implementations
impl<F> Clone for LogNormal<F> where
F: Clone + Float,
StandardNormal: Distribution<F>,
[src]
F: Clone + Float,
StandardNormal: Distribution<F>,
impl<F> Copy for LogNormal<F> where
F: Copy + Float,
StandardNormal: Distribution<F>,
[src]
F: Copy + Float,
StandardNormal: Distribution<F>,
impl<F> Debug for LogNormal<F> where
F: Debug + Float,
StandardNormal: Distribution<F>,
[src]
F: Debug + Float,
StandardNormal: Distribution<F>,
impl<F> Distribution<F> for LogNormal<F> where
F: Float,
StandardNormal: Distribution<F>,
[src]
F: Float,
StandardNormal: Distribution<F>,
Auto Trait Implementations
impl<F> RefUnwindSafe for LogNormal<F> where
F: RefUnwindSafe,
F: RefUnwindSafe,
impl<F> Send for LogNormal<F> where
F: Send,
F: Send,
impl<F> Sync for LogNormal<F> where
F: Sync,
F: Sync,
impl<F> Unpin for LogNormal<F> where
F: Unpin,
F: Unpin,
impl<F> UnwindSafe for LogNormal<F> where
F: UnwindSafe,
F: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,