Scheme 如何对f的根产生一连串的猜测?

Scheme 如何对f的根产生一连串的猜测?,scheme,Scheme,我想用3个参数f fx和x,f=sin(x)和x=3,对f的根进行一系列猜测。我试过一些代码,但不懂。如果你能给我一些帮助,我将不胜感激 (define (stream f fx x) (let ((x (3)) ((f x) (sin x)) ((fx x) (cos x))) (cons-stream (x (stream f fx (x (- x (/ (f x) (fx x))))))))) (stream f fx 3) 您的代码如下(我已应用缩进以使括号更清晰): 您在这方面有一

我想用3个参数f fx和x,f=sin(x)和x=3,对f的根进行一系列猜测。我试过一些代码,但不懂。如果你能给我一些帮助,我将不胜感激

(define (stream f fx x)
(let ((x (3))
((f x) (sin x))
((fx x) (cos x)))
(cons-stream (x (stream f fx (x (- x (/ (f x) (fx x)))))))))

(stream f fx 3)
您的代码如下(我已应用缩进以使括号更清晰):

您在这方面有一些错误:

  • (3)
    将3视为一个过程并尝试调用它。您应该改为使用
    3
  • 您已经将特定参数3,sin,cos放入了常规函数中。它应该在外面
  • 您已经完成了
    (x(流…)
    (x(-x…))
    都将x视为一个函数,但它是一个数字
因此,清除这些错误,代码将更像这样:

(define (stream f fx x)
    (cons-stream x (stream f fx (- x (/ (f x) (fx x))))))

(let ((x 3)
      (f (lambda (x) (sin x)))
      (fx (lambda (x) (cos x))))
  (stream f fx x))

lambda用于定义局部函数。希望对您有所帮助,如果有任何不清楚的地方,请随时提出后续问题。

谢谢您的回答!如何显示我的解决方案,例如e.x.前8个?使用
流取
(define (stream f fx x)
    (cons-stream x (stream f fx (- x (/ (f x) (fx x))))))

(let ((x 3)
      (f (lambda (x) (sin x)))
      (fx (lambda (x) (cos x))))
  (stream f fx x))