(define (cube x)
(* x x x))
(define (sum term a next b)
(if (> a b)
0
(+ (term a) (sum term (next a) next b))))
(define (integral f a b dx)
(define (add-dx x) (+ x dx))
(* (sum f (+ a (/ dx 2.0)) add-dx b) dx))
(newline)
(display (integral cube 0 1 0.01))
(define (even? x)
(= (remainder x 2) 0))
(define (simpson f a b n)
(define h (/ (- b a) n))
(define (new-f n1)
(cond ((or (= n1 0) (= n1 n)) (f (+ a (* n1 h))))
((even? n1) (* 2 (f (+ a (* n1 h)))))
(else (* 4 (f (+ a (* n1 h)))))))
(define (inc n) (+ n 1))
(* (/ h 3) (sum new-f 0 inc n)))
(newline)
(display (simpson cube 0 1 100))
SICP 习题1. 29 simpson 积分
数值积分与辛普森法则
最新推荐文章于 2018-11-13 10:59:34 发布
本文介绍了一种使用Scheme语言实现数值积分的方法,并详细展示了如何通过定义过程来计算立方函数的积分。此外,还实现了辛普森法则,这是一种更精确的数值积分技术,用于估算特定区间内函数的积分值。
629

被折叠的 条评论
为什么被折叠?



