练习1.29

博客介绍了使用Clojure编程语言实现辛普森积分法的过程,对比了代码实现的精度与课本给定方法的差异,并提到代码计算结果略高于课本,但依然小于0.25。由于1.29和1.30题目的关联,作者计划接下来讨论1.30的实现。
摘要由CSDN通过智能技术生成

本来该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)

相较于课本给定的方式,精度略有提高

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值