资源描述
编程求解
一元四次方程
Hanford
2016年03月27日
目 录
目 录
第1章 编程求解一元四次方程 1
1.1 一元三次方程 1
1.2 一元四次方程 2
1.3 特殊情况 3
1.4 总结 4
I
第1章 编程求解一元四次方程
第1章 编程求解一元四次方程
1.1 一元三次方程
一元三次方程
(1)
可化为
(2)
令
(3)
则方程可转化为下式
(4)
求解上式中的计算步骤如下:
(5)
(6)
(7)
(8)
(9)
(10)
方程的三个根为:
或 (11)
上式中,有三种取值0,1,2,且满足下式
(12)
计算机的浮点运算有误差,所以代码里上式无法严格成立,此时请选用最小的那个。
均为实数时,互为共轭复数。这两个复数开立方的结果也互为共轭复数(编写代码时,需要注意复数开立方的算法)。此时公式中的。
方程的三个根为:
(13)
1.2 一元四次方程
一元四次方程可使用费拉里法求解,假定有一元四次方程
(14)
可变换为下式
(15)
上式两边加上可得:
(16)
上式两边再加上,可得
(17)
上式右端是一个关于的一元二次方程,当
(18)
时,有
(19)
可知:
(20)
费拉里法就是首先把公式中的求解出来(一元三次方程),然后再求解上式中的(两个一元二次方程)。
1.3 特殊情况
方程一般有三个根,一般情况下选取最大的即可。
但是有一种情况,那就是方程三个根的均为零。这意味着方程有三重根,假定这个根为。方程就应该是:
(21)
上式与公式比较,可得:
(22)
上式联合可求得
或 (23)
将上式和代入方程可得:
(24)
也就是说:方程有三重根时,公式(一元四次方程)可变换为上式。对上式求解,即可得到一元四次方程的四个根(两对重根)。
1.4 总结
1、复数开立方,请不要使用C++的std::pow函数;
2、求解一元三次方程时,需要调整立方根复数的辐角,即确定公式中的;
3、使用费拉里法求解一元四次方程,需要考虑两种情况:一是方程选择根时要求;另一个则是方程的三个根均满足的情况;
4、VC++代码下载
访问百度网盘:
然后进入如下目录:
public\VC\SolveEquation
下载压缩包,解压后查看Readme.txt
5
展开阅读全文