一元三次方程的解法
(2017-08-28 11:48:14)
标签:
一元三次方程卡丹三角复数实数 |
以前上学的时候,教科书里面都不讲一元三次方程的解法。如果没有估计错误,现在的普通中学也不讲吧。
虽然之前也看到过所谓卡丹公式,其实内心还是有些忐忑,只是知道用那个解法是可以的。
最近,看了一些文章,有点明白应该如何解决了。
考虑一般的一元三次方程 x^3+ax^2+bx+c=0,首先通过转换,很容易通过 (x + a/3) 转化成
x^3+ax+b=0 的形式。
其次,在 a 是 0 的时候,问题很简单,容易得到实数解。
在 a 不是 0 的时候,
方法1: 如果按照卡丹公式的方法,是定义 x=p+q,然后令 p^3+q^3+b=0 且
3pq+a=0,然后求解。
方法2: 这种时候,其实总是可以把方程转化成 4x^3+3x=t 或者 4x^3-3x=t 的形式的。
a) 对于 4x^3-3x=t 的情况,熟悉三角函数的人可以令 x=cos a 得到 cos (3a) = t,所以,如果
t 的绝对值不大于 1,问题就可以解出来了。当然,如果个人喜欢,使用 sin (3a) 的公式也是可以的。
b) 对于 4x^3-3x=t 的情况,对于 t 的绝对值大于 1 的时候,取 2x=u+1/u,可以得到 u^3
的一个一元二次方程, 2t=u^3+1/u^3,所以也可以解了。
c) 对于 4x^3+3x=t 的情况,貌似没有三角函数可以使用,不过,我们总是可以使用 2x=u-1/u 进行处理,得到
2t=u^3-1/u^3,可以解出 u^3 的实数解。
个人觉得,方法一的优点是,简单,就这一条路,缺点是,会碰到复数问题,会显得比较困难一些。方法二的优点是,只是需要三角函数和一元二次方程会求解,就可以懂,缺点是,分类相对多一些。
补充写一个实际的例子:x^3-3x^2-3x-1=0
第一步,通过替换:t=x-1 可以得到 t^3-6t-6=0
第二步,通过替换:t=2 sqrt(2) y,可以得到 4y^3-3y=3 sqrt(2) / 4>1
第三步,采用变换:2y=u+1/u,可以得到方程 u^3+1/u^3=3 sqrt(2) / 2,求解可以得到
u^3=sqrt(2) 或者 sqrt(1/2)
第四步,反推 x=1+2^{1/3}+2^{2/3}.
前一篇:adt update 问题