2

如何在 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"]
              ]

然后我尝试(import cern.jet.random.tdouble Normal)了,我得到了一个class java.lang.ClassNotFoundException.

我在这里做错了什么?

4

2 回答 2

8

您无需直接调用 Parallel Colt 即可在 Incanter 中生成随机数。有两种不同的方法。

首先,在 incanter.stats 中有原始的随机数生成器函数:

sample-normal
sample-poisson
sample-uniform
sample-t
sample-net-binomial
sample-binomial
etc..

每个函数都将要生成的值的数量作为其第一个参数,以及用于设置要从中提取的分布参数的可选参数。例如,要从平均值为 -2、标准差为 0.5 的正态分布中抽取 100 个值,请执行以下操作:

(use '[incanter core stats])
(sample-normal 100 :mean -2 :sd (sqrt 0.5))

生成随机数的第二种方法是使用 incanter.distributions 命名空间中的函数。

(require '[incanter.distributions :as dist])
(dist/draw (dist/normal-distribution -2 (sqrt 0.5)))
于 2010-09-21T16:11:38.823 回答
5

liebke 可能在这里解决了您特定领域的需求,但重新导入:

1)确保你运行lein deps

import2) is (import [cern.jet.random.tdouble Normal])or的语法(import cern.jet.random.tdouble.Normal)

于 2010-09-21T16:19:49.247 回答