📜  因式分解 x3 + 4x2 – 9x – 36。(1)

📅  最后修改于: 2023-12-03 15:23:02.020000             🧑  作者: Mango

因式分解 x^3 + 4x^2 - 9x - 36

这个主题需要我们对一个三次方程进行因式分解。我们将利用经典的算法来解决这个问题。

步骤
  1. 我们首先需要找出一个零点(解)。我们可以通过观察函数值的正负性,或者使用求根公式来找出一个解。在这个例子中,我们发现 x = -3 是一个解。

  2. 一旦我们找出了一个解,我们可以使用除法来把这个解去除掉。具体的操作是把解对应的因子和余数相乘,然后用余项继续除以原方程。

            x^2 + 7x + 12
    -3 | x^3 + 4x^2 - 9x - 36
        - (x^3 - 3x^2)
        --------------
              7x^2 - 9x - 36
            - (7x^2 - 21x)
            --------------
                     12x - 36
                     - (12x - 36)
                     ----------
                              0
    

    这里我们使用了长除法,把 $x=-3$ 的解除掉。我们得到了一个二次方程 $x^2 + 7x + 12$ 和余数 0。

  3. 我们现在需要因式分解这个二次方程。这可以通过使用求根公式,或者配方法实现。

    x^2 + 7x + 12 = (x + 3)(x + 4)
    

    我们得到了因式分解式 $(x + 3)(x + 4)$。

  4. 我们现在可以把这个结果写成原方程的因式分解形式。

    x^3 + 4x^2 - 9x - 36 = (x + 3)(x + 4)(x - 3)
    

    我们得到了原方程的因式分解解答。

代码实现

如果你想要通过编程来计算因式分解,你可以通过以下的 Python 代码实现:

import numpy as np

def factorize(eq):
    p = np.array(eq.coef)
    roots = np.roots(p)
    factors = []
    for r in roots:
        q = np.polydiv(p, np.array([-r, 1]))
        factor = np.poly1d(q[0])
        p = q[1]
        factors.append(factor)
    return factors

eq = np.poly1d([1, 4, -9, -36])
factors = factorize(eq)
print('({})'.format(')('.join(['{}x{:+}'.format(factors[i], -factors[i+1][0]) for i in range(len(factors)-1)])))

# 输出结果: (x + 3)(x - 3)(x + 4)

这个代码使用 numpy 中的根函数和多项式除法来实现因式分解。