annotate src/rlm/resistors.clj @ 2:c7df1ea6fd71
fixed javadoc to work with my setup
author |
Robert McIntyre <rlm@mit.edu> |
date |
Tue, 27 Dec 2011 23:27:22 -0700 |
parents |
78a630e650d2 |
children |
|
rev |
line source |
rlm@0
|
1 (ns rlm.resistors
|
rlm@0
|
2 (:use [clojure.contrib [accumulators :only [combine] ]])
|
rlm@0
|
3 (:use [incanter core stats charts]))
|
rlm@0
|
4
|
rlm@0
|
5 (def value 1)
|
rlm@0
|
6
|
rlm@0
|
7 (defn parrallel [r1 r2]
|
rlm@0
|
8 (/ 1 (+ ( / 1 r1) ( / 1 r2))))
|
rlm@0
|
9
|
rlm@0
|
10 (defn series [r1 r2]
|
rlm@0
|
11 (+ r1 r2))
|
rlm@0
|
12
|
rlm@0
|
13 (defn total-nums [num-resistors]
|
rlm@0
|
14 (if (= 1 num-resistors) #{value}
|
rlm@0
|
15 (combine
|
rlm@0
|
16 (apply hash-set (map (partial parrallel value) (total-nums (dec num-resistors))))
|
rlm@0
|
17 (apply hash-set (map (partial series value) (total-nums (dec num-resistors))))
|
rlm@0
|
18 (total-nums (dec num-resistors))
|
rlm@0
|
19 )))
|
rlm@0
|
20
|
rlm@0
|
21 (def total-nums (memoize total-nums))
|
rlm@0
|
22
|
rlm@0
|
23 (defn spectrum [num]
|
rlm@0
|
24 (apply sorted-set (map float (total-nums num))))
|
rlm@0
|
25
|
rlm@0
|
26 (defn oh-yeah []
|
rlm@0
|
27 (view (dynamic-scatter-plot [number (range 1 13 1)]
|
rlm@0
|
28 (let [vvv (apply vector (rlm.resistors/spectrum number))]
|
rlm@0
|
29 [(map identity vvv)
|
rlm@0
|
30 (repeat (count vvv) 0)])
|
rlm@0
|
31 :title "Resistor Combination Distribution")))
|