SICP 习题1.39沿着习题1.37, 1.38的方向继续前行,要求我们根据德国数学家J.H.Lambert的公式定义tan-cf过程,用于计算正切函数的近似值。
J.H.Lambert的公式如下:
可以发现,这个和之前的无穷连分式是一样一样的,所不同的就是N是一个变量,不是固定数值。
不过这个已经难不倒我们啦,可以从公式中发现,除了第一个N是x,其它的N都是x平方,
D对应的数值是1,3,5,就是所有奇数,以数字n为下标的话可以通过((n * 2)-1) 得到。
最后直接定义以下过程搞定:
(define (tan-cf x k)
(cont-frac
(lambda (i)
(if (= i 1)
x
(* x x)))
(lambda (i)
(- (* i 2.0) 1))
k))

本文介绍如何根据J.H.Lambert的公式定义tan-cf过程,用以计算正切函数的近似值。通过分析公式,确定N和D的规律,并给出具体的实现过程。
解题总结&spm=1001.2101.3001.5002&articleId=23475809&d=1&t=3&u=47acda3f5b9144619de7b16b7c3c80dd)
2735

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



