Exercise 3.61. - 3.62
Excercie 3.61
べき級数ストリームの逆数を表すストリームを求める問題。
これは本に出てくる数式をそのまま scheme に直せばおk。
(define (invert-unit-series s) (stream-cons 1 (scale-streams (mul-series (stream-cdr s) (invert-unit-series s)) -1)))
求める数をぶったぎって
Excercie 3.62
べき級数ストリームの割り算を求める問題。
逆数を掛ければいいので、
(define (div-series s1 s2) (if (= (stream-car s2) 0) (error "zero division occured.") (mul-series s1 (invert-unit-series s2))))
でいいはず。
tan を作って確かめてみる。
(define tan (div-series sine-series cosine-series)) (define i 0) (until (= i 10) (format #t "~s " (stream-ref tan i )) (inc! i)) (format #t "\n") ; => 0 1 0 1/3 0 2/15 0 17/315 0 62/2835
「http://homepage3.nifty.com/y_sugi/cf/cf27.htm」 に出ているものと同じ係数になったのでおk。