本来该1.7 暂时先跳到1.29吧,后面慢慢的补充。
这个题目,是用代码实现辛普森积分法。先贴代码
(defn cube [x] (* x x x))
(defn integral [f a b n]
(def h (/ (- b a) n))
(defn y [k] (f (+ a (* k h))))
(defn nxt [k] (- k 1))
(defn factor[k](if (even? k) 2 4))
(*
(/ h 3)
(+
(y 0)
(sum
y
(- n 1)
nxt
)
(y n)
)
)
)
(defn sum [f k nxt]
(if
(< k 0)
0
(+
(* (f k) (factor k))
(sum f (nxt k) nxt)
)
)
)
(integral cube 0 1.0 100)
相较于课本给定的方式,精度略有提高