sicp习题试解 (1.29)

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

; ======================================================================

;

; Structure and Interpretation of Computer Programs

; (trial answer to excercises)

;

; 计算机程序的构造和解释(习题试解)

;

; created: code17 03/05/05

; modified:

; (保持内容完整不变前提下,可以任意转载)

; ======================================================================

;; SICP No.1.29

;; 观察simpson个公式的规律,原公式可写为

;; n/2

;; h ---

;; - > y_(2i-2) + 4y_(2i-1) + y_(2i)

;; 3 ---

;; i=1

;; 因此可以直接调用sum函数

(define (simpson f a b n)

(define h (/ (- b a) n))

(define (y k) (f (+ a (* k h))))

(define (next x) (+ x 1))

(define (term i) (+ (y (- (* 2 i) 2))

(y (* 2 i))

(* 4 (y (- (* 2 i) 1)))))

(/ (* h (sum term 1 next (/ n 2))) 3))

;; Test-it:

;; Welcome to MzScheme version 209, Copyright (c) 2004 PLT Scheme, Inc.

;; > (integral cube 0 1 0.01)

;; 0.24998750000000042

;; > (simpson cube 0.0 1.0 100)

;; 0.25000000000000017

;; > (integral cube 0 1 0.001)

;; 0.249999875000001

;; > (simpson cube 0.0 1.0 1000)

;; 0.25000000000000017

;; 测试结果表明,simpson公式在取同样的间隔精度时,要比原文中的公式更精确。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有