Scheme 如何对f的根产生一连串的猜测?
我想用3个参数f fx和x,f=sin(x)和x=3,对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) 您的代码如下(我已应用缩进以使括号更清晰): 您在这方面有一
(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))