一元二次、三次、四次方程求解和复数的运算

对一元三次或者四次方程,是有数学公式求精确解的,可以不用迭代法。参考了维基的上的方法,现在我贴出一元二次、三次或者四次方程的LISP求解方法。使得在求解效率可以得到极大提高。
注明: 因为这几个方程的解有可能是复数,所以我对每个解都用表的形式来列出。
如果这个表的第二项为0,那么这个解是实数,否则是复数。
譬如 :\({x^4+3x^3+7x^2+2x-5 = 0}\)

==》((-1.19281 -2.21406) (-1.19281 2.21406) (-1.24789 0) (0.633498 0))

意味着这个方程有两个实数解:-1.24789 , 0.633498
两个虚数解:-1.19281-2.21406 i ,-1.19281+2.21406i
另外在末尾附上验算测试函数。

解一元二次方程的LISP源码:

解一元三次方程的LISP源码:

解一元四次方程的解:

复数相关代码:

测试代码:

Leave a comment

您的邮箱地址不会被公开。 必填项已用 * 标注