利用三角恒等式:sin x = 3sin(x/3) - 4sin(x/3)^3,求值sin x,当x足够小时,sin x = x。
过程如下
(define (sine angle)
(if (<= (abs angle) 0.1)
angle
(p (sine (/ angle 3.0)))))
(define (p x)
(- (* 3 x) (* 4 (cube x))))
(define (cube x)
(* x x x))
求值(sine 12.15),p将使用多少次?
12.15 * (1/3)^n <=0.1,解得n>=4.369,所以p将被使用5次
求值(sine a),使用的空间是1,步数是log(1/3)(0.1/a)(以1/3为底的对数)
相关资源:敏捷开发V1.0.pptx