简单的代数问题,对于我正在编写的程序

时间:2009-02-15 23:06:50

标签: algorithm math

我将如何解决:

  

-x ^ 3 - x - 4 = 0

你不能使用二次方,因为它是第三种力量,对吧?

我知道我应该出来~1.3788,但我不确定如何得出它。

我开始时:

f(x)= x +(4 /(x ^ 2 + 1))。

解决0,将x移到另一边,两边乘以(x ^ 2 + 1),我最终得到:

-x(x ^ 2 + 1)= 4,

-x ^ 3 - x - 4 = 0.

5 个答案:

答案 0 :(得分:4)

使用Newton's methodFixed point iteration

查找方程的根

答案 1 :(得分:4)

代数地,你想使用Cardano的方法:

http://www.math.ucdavis.edu/~kkreith/tutorials/sample.lesson/cardano.html

使用这种方法,它与二次方法一样容易解决。

实际上,这可能更清楚:

http://en.wikipedia.org/wiki/Cubic_function#Summary

答案 2 :(得分:2)

这是cubic功能。你是对的,二次公式不适用。

你给了一个根,但一般有三个。

你是如何得出这个单一价值的?试错了?那是合法的。你不需要“衍生”任何东西。

x ^ 3 + a2 * x ^ 2 + a1 * x + a0 = 0可写为(x-x1)*(x-x2)*(x-x3)= 0,其中x1,x2和x3是三个根。如果你知道你引用的根是正确的,你可以将它除去并离开(x-x2)*(x-x3)= 0,这是一个二次方,你可以应用通常的技术。

答案 3 :(得分:2)

使用newton迭代查找根(请参阅下面的链接)。然后将多项式除以(x-TheRootYouFound)。结果将是一个二次公式,您可以将其插入到您选择的二次根查找器中。

关于牛顿迭代:

http://en.wikipedia.org/wiki/Newton%27s_method

关于多项式部门

http://en.wikipedia.org/wiki/Polynomial_long_division

这篇文章对你也很有意思。它涵盖了更强大的方法来解决您的问题,但代价是额外的复杂性。

http://en.wikipedia.org/wiki/Root-finding_algorithm

答案 4 :(得分:1)

从编程的角度来看,这可能无济于事,但从数学的角度来看......

注意,在这个特定的三次函数中,你需要考虑虚数,因为当x = i时,你的分母为零(在你的原始方程中)。此外,一般来说,当你将它们移动到等式的另一边时,你不应该乘以或除以变量(加法和减法是正常的)因为你通常会忘记你乘以或除以的项的条件。是零。这些答案需要从解决方案集中排除。

x = i是上述立方体中排除的解决方案的示例。您需要在之前评估排除的解决方案,然后才能操纵公式。