Générer des nombres aléatoires dans incantateur
Question
Comment puis-je utiliser les générateurs de nombres aléatoires dans Colt parallèle de incantateur?
J'ai énuméré ces dépendances dans mon fichier project.clj:
: dépendances [[org.clojure / clojure "1.2.0"] [Org.clojure / clojure-contrib "1.2.0"] [Incantateur / core "1.2.3"] [Incantateur / parallelcolt "0.9.4"]]
Et puis j'ai essayé (importation cern.jet.random.tdouble normale) et je reçois une java.lang.ClassNotFoundException de classe.
Qu'est-ce que je fais mal ici?
La solution
Liebke peut avoir adressé vos besoins spécifiques à un domaine ici, mais re importation:
1) Assurez-vous que vous exécutez lein deps
2) La syntaxe de import
est (import [cern.jet.random.tdouble Normal])
ou (import cern.jet.random.tdouble.Normal)
Autres conseils
Vous n'avez pas besoin d'appeler Colt directement en parallèle pour générer des nombres aléatoires dans incantateur. Il existe deux méthodes différentes.
D'abord, il y a les fonctions du générateur de nombres aléatoires originaux incanter.stats:
sample-normal
sample-poisson
sample-uniform
sample-t
sample-net-binomial
sample-binomial
etc..
Chaque fonction prend le nombre de valeurs à générer, comme premier argument, ainsi que des arguments facultatifs pour le réglage des paramètres de la distribution à tirer. Par exemple, pour dessiner 100 valeurs à partir d'une distribution normale avec une moyenne de -2 et un écart type de racine carrée de 0,5, cela:
(use '[incanter core stats])
(sample-normal 100 :mean -2 :sd (sqrt 0.5))
La deuxième méthode de génération de nombres aléatoires est d'utiliser des fonctions dans l'espace de noms incanter.distributions.
(require '[incanter.distributions :as dist])
(dist/draw (dist/normal-distribution -2 (sqrt 0.5)))