0

我注意到几乎所有新的计算器都能够以精确的形式显示二次方程的根。例如:

x^2-16x+14=0
x1=8+5sqrt2
x2=8-5sqrt2

我可以使用什么算法来实现这一点?我一直在四处寻找,但没有发现与此问题相关的结果

4

2 回答 2

0

“算法”与纸上的完全一样。根据编程语言,它可能以int delta = b*b - 4*a*c;.

但是,您可能希望定义术语的数据类型并对其进行简化,以防方程的系数不仅仅是整数而是先前方程的解。如果这是您所追求的,请查找“符号计算”。某些语言比其他语言更适合此目的。我希望您所询问的基本版本实际上会在某些ML教程中用作示例(参见第 9 章)。

于 2013-09-08T18:01:35.663 回答
0

假设你的二次方程是形式

y = ax^2+bx+c

你得到两个根

x_1,x_2 = ( -b +- sqrt(b^2-4ac)) / 2a

当你使用+b 和平方根之间的一个,而另一个使用-. 如果你想从平方根中取出一些东西,只需计算参数的因子并取出指数大于 2 的因子。

顺便说一句,您发布的两个root是错误的。

于 2013-09-08T17:55:51.570 回答