-2

3 次多項式の値を返すプロシージャが必要です。つまり、次のようになります。

f(x) = x 3 + ax 2 + bx + c

3 つの引数と Newton-Raphson のメソッドを使用するプロシージャでこれを実行できるはずですが、方法がわかりません。

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

これどうやってするの?

4

1 に答える 1

2

関数が関数を返すようにしたいので、

(define cubic
   (lambda (a b c) ;; lambda #1
      (lambda (x) ;; lambda #2
        ???))) ;; x^3 a * x^2 + b * x + c

これはクロージャーと呼ばれ、ラムダ 1 が呼び出されるとラムダ 2 が返され、ラムダ #1 の呼び出しからパラメーターを記憶してアクセスできます。

それで

(define f (cubic a b c))

は、 f を取り込んでxラムダ #2 の本体にプラグインする関数として定義します。

于 2013-10-10T13:21:37.600 に答える