std::piecewise_linear_distribution
Da cppreference.com
![]() | This page has been machine-translated from the English version of the wiki using Google Translate. The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Definido no cabeçalho <random> | ||
template<class RealType =double> class piecewise_linear_distribution; | (desde C++11) | |
std::piecewise_linear_distribution
produces random floating-point numbers, which are distributed according to a linear probability density function within each of the several subintervals [b
i, b
i+1). The distribution is such that the probability density at each interval boundary is exactly the predefined value p
i.
i≤x<b
i+1 is p
i
b i+1-x |
b i+1-b i |
i+1
x-b i |
b i+1-b i |
k are calculated as w
k/S where S is the sum of all None
1 |
2 |
k+w
k+1)(b
k+1−b
k).
The set of interval boundaries b
i and the set of weights at boundaries w
i are the parameters of this distribution.
[editar]Tipos de membro
Tipo de membro Original: Member type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. | Definition |
result_type | RealType |
param_type | o tipo do conjunto de parâmetros, não especificado Original: the type of the parameter set, unspecified The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[editar]Funções de membro
constrói nova distribuição Original: constructs new distribution The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) | |
redefine o estado interno da distribuição Original: resets the internal state of the distribution The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) | |
Original: Generation The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. | |
gera o próximo número aleatório na distribuição Original: generates the next random number in the distribution The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) | |
Original: Characteristics The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. | |
obtém a lista de limites de intervalo Original: obtains the list of interval boundaries The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) | |
obtém a lista de densidades de probabilidade nos limites de intervalo Original: obtains the list of probability densities at interval boundaries The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) | |
obtém ou define o objeto de parâmetro de distribuição Original: gets or sets the distribution parameter object The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) | |
retorna o valor mínimo potencialmente gerado Original: returns the minimum potentially generated value The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) | |
retorna o valor máximo potencialmente gerado Original: returns the maximum potentially generated value The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) |
[editar]Não-membros funções
compara dois objetos de distribuição Original: compares two distribution objects The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função) | |
executa fluxo de entrada e saída em pseudo-aleatório distribuição de números Original: performs stream input and output on pseudo-random number distribution The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função) |
[editar]Exemplo
#include <iostream>#include <iomanip>#include <string>#include <map>#include <random> int main(){ std::random_device rd;std::mt19937 gen(rd());// increase the probability from 0 to 5// remain flat from 5 to 10// decrease from 10 to 15 at the same ratestd::vector<double> i{0, 5, 10, 15};std::vector<double> w{0, 1, 1, 0}; std::piecewise_linear_distribution<> d(i.begin(), i.end(), w.begin()); std::map<int, int> hist;for(int n=0; n<10000;++n){++hist[d(gen)];}for(auto p : hist){std::cout<<std::setw(2)<< p.first<<' '<<std::string(p.second/100, }}
Saída:
0 * 1 *** 2 **** 3 ****** 4 ********* 5 ********* 6 ********* 7 ********** 8 ********* 9 ********** 10 ********* 11 ******* 12 **** 13 *** 14 *