2da*_*aaa 2 clojure leiningen incanter
如何在incanter中使用Parallel Colt中的随机数生成器?
我在project.clj文件中列出了这些依赖项:
:dependencies [[org.clojure/clojure"1.2.0"] [org.clojure/clojure-contrib"1.2.0"] [incanter/core"1.2.3"] [incanter/parallelcolt"0.9.4"]]
然后我尝试(导入cern.jet.random.tdouble Normal)并得到一个类java.lang.ClassNotFoundException.
我在这做错了什么?
小智 8
您无需直接调用Parallel Colt在Incanter中生成随机数.有两种不同的方法.
首先,incanter.stats中有原始的随机数生成器函数:
sample-normal
sample-poisson
sample-uniform
sample-t
sample-net-binomial
sample-binomial
etc..
Run Code Online (Sandbox Code Playgroud)
每个函数都将生成的值的数量作为其第一个参数,以及用于设置要绘制的分布参数的可选参数.例如,要从平均值为-2且标准差为sqrt为0.5的正态分布绘制100个值,请执行以下操作:
(use '[incanter core stats])
(sample-normal 100 :mean -2 :sd (sqrt 0.5))
Run Code Online (Sandbox Code Playgroud)
生成随机数的第二种方法是使用incanter.distributions命名空间中的函数.
(require '[incanter.distributions :as dist])
(dist/draw (dist/normal-distribution -2 (sqrt 0.5)))
Run Code Online (Sandbox Code Playgroud)
liebke可能已解决了您在特定领域的需求,但重新导入:
1)确保你跑 lein deps
2)importis (import [cern.jet.random.tdouble Normal])或的语法(import cern.jet.random.tdouble.Normal)