如何在scheme中求解多项式方程

如何在scheme中求解多项式方程,scheme,polynomial-math,Scheme,Polynomial Math,这是我第一个被问到的问题,所以我会尽我所能让你理解我的需要。我正在尝试用scheme语言做一个函数,它可以解任何多项式方程,但我是一个初学者,所以我不能正确地做它。。。 我试着检测所有的未知,并为减法、乘法、加法和除法生成不同的函数,但我被困在这一点上。我不能做一个函数,虽然他说了计算的性质。。。 所以请帮帮我,伙计们 对不起,忘了写了: (define (addition? L1) (if (memq '+' L1)) #T (else (error))

这是我第一个被问到的问题,所以我会尽我所能让你理解我的需要。我正在尝试用scheme语言做一个函数,它可以解任何多项式方程,但我是一个初学者,所以我不能正确地做它。。。 我试着检测所有的未知,并为减法、乘法、加法和除法生成不同的函数,但我被困在这一点上。我不能做一个函数,虽然他说了计算的性质。。。 所以请帮帮我,伙计们

对不起,忘了写了:

(define (addition? L1)
  (if (memq '+' L1))
      #T
      (else (error))
      )

(define (count L1 x n)
  (cond [(null? L1) n]
        [(eq? (car L1) x)
         (count (cdr L1) x (+ n 1))]
        [else
         (count (cdr L1) x n)]))

(define (polynome L1)
  (compter L1))

`您可以像解决任何问题一样解决此问题:

  • 创建对象的数据表示形式。创建访问器、构造函数,以便更精确地使用模型
  • 使用有关如何通过使用数据表示制作算法手动执行转换的知识。从简单的案例开始,重复使用这些案例,使其更复杂。分而治之。解决两个简单的问题总比解决一个大问题好
  • 测试它是否有效。如果没有细化或转到步骤2
  • 重述。为了解决这个问题,你需要知道如何解多项式方程。您需要知道如何使用目标编程语言编程。你需要知道如何把一个复杂的问题分解成更小更简单的问题


    如果您不了解Scheme,我建议您先做一些简单的问题。

    不清楚您是在寻找符号方法还是数值方法。如果您正在寻找一种符号方法,那么您可能会在
    racket cas
    的源代码中找到一些灵感

    注意,如果我们讨论的是一个实变量的多项式,并且系数是实的,那么只有当阶数小于5时,才有一个通解公式

    有关常规的数字根查找,请参见括号中的


    您尝试了什么?添加一段您所做的事情,并准确解释问题所在。