2016-07-04 7 views
1

Je suis assez nouveau pour C++ et boost.Utilisation de boost skewed_normal_distribution

Je souhaite créer un ensemble de nombres dérivé d'une distribution asymétrique à l'aide de la classe skewed_normal_distribution de Boost.

Je ne sais pas comment commencer. Je veux définir une distribution avec une moyenne de 0,05, une variance de 0,95, mais une asymétrie de 0,5. Le code suivant ne fonctionne pas et je me rends compte que j'ai besoin de mettre en place un variate_generator ainsi.

Quelqu'un peut-il fournir des pointeurs? Je ne trouve pas la page de documentation de boost sur skew_normal_distribution très intuitive mais c'est peut-être à cause de mon inexpérience.

Notez le principal problème que je reçois le message:

'skew_normal_distribution' est pas un membre de 'boost'

Un grand merci

#include <boost/random.hpp> 
#include <boost/random/normal_distribution.hpp> 

#include <boost/math/distributions/skew_normal.hpp> 

int main() { 
    boost::skew_normal_distribution<> normal(0.05, 0.95, 0.5); 
    return 0; 
} 

Répondre

0

Utilisation boost::math::skew_normal_distribution au lieu de boost::skew_normal_distribution pour la message

skew_normal_distribution n'est pas un membre de boost