SICP問題3.73

積分器の実装(教科書で定義)

(define (integral integrand initial-value dt)
  (define int
    (cons-stream initial-value
                 (add-streams (scale-stream integrand dt)
                              int)))
  int)

RC回路の実装。さっぱり分からないけど、
v=v_{0}+\frac{1}{C}\int_{0}^{t}idt+R_{i}
式のとおりに実装。

(define (RC R C dt)
  (define (rc i v0)
    (add-streams
     (stream-map (lambda (x) (+ (* x R) v0)) i)
     (scale-stream (integral i v0 dt) (/ 1 C))))
  rc)

テスト

(define RC1 (RC 5 1 0.5))
(stream-ref-range (RC1 ones 0) 0 10)
; 5
; 5.5
; 6.0
; 6.5
; 7.0
; 7.5
; 8.0
; 8.5
; 9.0
; 9.5
; #<undef>

良いのか悪いのかさっぱり分からない。