A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cplusplus.com/reference/random/lognormal_distribution/ below:

class template

<random>

std::lognormal_distribution
template <class RealType = double> class lognormal_distribution;

Lognormal distribution

Random number distribution that produces floating-point values according to a lognormal distribution, which is described by the following probability density function:

This distribution produces random numbers whose logarithms are normally distributed (see normal_distribution).

The distribution parameters (m and s) relate to the characteristics of that underlying normal distribution.

To produce a random value following this distribution, call its member function operator().



Template parameters
RealType
A floating-point type. Aliased as member type result_type.
By default, this is double.

Member types The following aliases are member types of lognormal_distribution:

member type definition notes result_type The first template parameter (RealType) The type of the numbers generated (defaults to double) param_type not specified The type returned by member param.


Member functions
(constructor)
Construct lognormal distribution (public member function)
operator()
Generate random number (public member function)
reset
Reset distribution (public member function)
param
Distribution parameters (public member function)
min
Minimum value (public member function)
max
Maximum value (public member function)

Distribution parameters:
lognormal_distribution::m
Parameter m (public member function)
lognormal_distribution::s
Parameter s (public member function)

Non-member functions
operator<<
Insert into output stream (function template)
operator>>
Extract from input stream (function template)
relational operators
Relational operators (function template)

Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// lognormal_distribution
#include <iostream>
#include <random>

int main()
{
  const int nrolls=10000;  // number of experiments
  const int nstars=100;    // maximum number of stars to distribute

  std::default_random_engine generator;
  std::lognormal_distribution<double> distribution(0.0,1.0);

  int p[10]={};

  for (int i=0; i<nrolls; ++i) {
    double number = distribution(generator);
    if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
  }

  std::cout << "lognormal_distribution (0.0,1.0):" << std::endl;

  for (int i=0; i<10; ++i) {
    std::cout << i << "-" << (i+1) << ": ";
    std::cout << std::string(p[i]*nstars/nrolls,'*') << std::endl;
  }

  return 0;
}

Possible output:
lognormal_distribution (0.0,1.0):
0-1: **************************************************
1-2: **************************
2-3: **********
3-4: *****
4-5: **
5-6: *
6-7: 
7-8: 
8-9: 
9-10: 


See also
normal_distribution
Normal distribution (class template)
chi_squared_distribution
Chi-squared distribution (class template)
cauchy_distribution
Cauchy distribution (class template)
fisher_f_distribution
Fisher F-distribution (class template)
student_t_distribution
Student T-Distribution (class template)

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4