1
我寫了下面這段隨機遊走的代碼,它從{-1,1}中繪製隨機值。在Clojure中隨機遊走
(defn notahappyfoo [n]
(reverse (butlast (butlast (reverse (interleave (take n (iterate rand (- 0 1)))(take n (iterate rand 1))))))))
但是,代碼無法生成令人滿意的散步。主要問題源於函數rand。它的下界是0,這迫使我寫的尷尬代碼。也就是說,函數交錯結束了,因爲值被強制從正向負向擺動,導致漫步。使用此代碼很難獲得連續路徑的任何意義。
我相信在Clojure中應該有一個優雅的形式來構造這個散步。但我無法將正確的功能組合在一起來產生這種散步。我期望構造的函數的目標包括隨機數的下限和上限。在上面的代碼中,我已經強制間隔-1到1.將它概括爲-a和a將會很好。而且,如何在-a和a之間形成一個隨機實數(浮點數)集合,這個集合有一些連續性的概念?