Scheme 计算三次多项式

Scheme 计算三次多项式,scheme,racket,polynomial-math,Scheme,Racket,Polynomial Math,我需要一个返回三次多项式值的过程,即: f(x)=x3+ax2+bx+c 我应该可以用一个包含三个参数的程序和牛顿-拉斐逊方法来实现这一点,但我不知道该怎么做 (define f (cubic a b c) ...) 我怎样才能做到这一点呢?您希望函数返回一个函数,所以 (define cubic (lambda (a b c) ;; lambda #1 (lambda (x) ;; lambda #2 ???))) ;; x^3 a * x^2 + b *

我需要一个返回三次多项式值的过程,即:

f(x)=x3+ax2+bx+c

我应该可以用一个包含三个参数的程序和牛顿-拉斐逊方法来实现这一点,但我不知道该怎么做

(define f (cubic a b c) ...)

我怎样才能做到这一点呢?

您希望函数返回一个函数,所以

(define cubic
   (lambda (a b c) ;; lambda #1
      (lambda (x) ;; lambda #2
        ???))) ;; x^3 a * x^2 + b * x + c
这称为闭包,在调用lambda 1时返回lambda 2,可以记住并访问lambda#1调用中的参数

然后


将f定义为一个函数,接收
x
并将其插入lambda#2的主体中。

请注意,“询问代码的问题必须表明对正在解决的问题的最低理解。包括尝试的解决方案、为什么不起作用以及预期的结果。”到目前为止,您尝试了什么?有什么不起作用呢?纽顿的方法对寻找函数的根很有用(但不能保证)。在任意一个特定的x上求值是另一回事。你要么误解了问题,要么误解了解决方案。对于给定的输入,尝试使用Newton Raphson来计算多项式的值是没有意义的。
(define f (cubic a b c))