如何求解方案中的多项式方程

时间:2015-04-16 15:59:57

标签: scheme polynomial-math

这是我在这里提出的第一个问题,所以我会尽力让你理解我的需要。我正在尝试做一个应该解决方案语言中任何多项式方程的函数,但我是初学者所以我不能正确地做到... 我试图检测所有未知并为减法,乘法,加法和除法做出不同的函数,但我坚持这一点。我不能说一个函数谁说的是计算的本质... 所以,请帮助我们。

抱歉忘记写了:

(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 个答案:

答案 0 :(得分:3)

你可以解决这个问题,因为你可以解决任何问题:

  1. 制作对象的数据表示。使访问器,构造函数更加精确。
  2. 通过使用数据表示形成一个算法来手动使用有关如何手动进行转换的知识。从简单的案例开始,重用它们来制作更复杂的案例。分而治之。解决两个比一个大问题更简单的问题总是更好。
  3. 测试它是否有效。如果它没有改进或转到第2步。
  4. 回顾一下。你需要知道如何求解多项式方程才能解决这个问题。您需要知道如何使用目标编程语言进行编程。您需要知道如何将复杂问题划分为更简单的问题。

    如果你不知道Scheme,我建议你先开始做更简单的问题。

答案 1 :(得分:2)

目前尚不清楚您是在寻找符号还是数字方法。如果您正在寻找符号方法,那么也许您可以在racket-cas的来源中找到一些灵感。

https://github.com/soegaard/racket-cas/blob/master/racket-cas/racket-cas.rkt

请注意,如果我们讨论的是一个实变量的多项式且系数是实数的,那么只有一个通用解公式,如果度数小于5。

一般情况下,数字根查找请参阅bracket

https://github.com/soegaard/bracket/blob/master/numeric/root-finding.rkt