更新时间:2024-10-20 11:06
一元三次方程(英文:cubic equation with one unknown)是只含有1个未知数(即“消元”),并且未知数的最高次数为3次的整式方程,一元三次方程的标准形式是ax3+bx2+cx+d=0(a,b,c,d为常数,x为未知数,且a≠0)。一元三次方程的公式解法为卡尔丹公式法。
众所周知,对于任意一个n次多项式,我们总可以只借助最高次项和(n-1)次项,根据二项式定理,凑出完全n次方项,其结果除了完全n次方项,后面既可以有常数项,也可以有一次项、二次项、三次项等,直到(n-2)次项。由于二次以上的多项式,在配n次方之后,并不能总保证在完全n次方项之后仅有常数项。于是,对于二次以上的多项式方程,我们无法简单地像一元二次方程那样,只需配出关于x的完全平方式,然后将后面仅剩的常数项移到等号另一侧,再开平方,就可以推出通用的求根公式。
特别地,对于三次多项式,配立方,其结果除了完全立方项,后面既可以有常数项,也可以有一次项。一个自然的想法就是利用配方法将一般的三次方程化为不带二次项的三次方程。
在一元二次方程中,用x=y-b/2a换元能消去方程中的一次项,只剩下二次项和常数项,所以配方法能解所有的一元二次方程。
但在一元三次方程中,用x=y-b/3a换元不一定能同时消去二次项和一次项,只留下三次项和常数项,所以配方法只能直接求解一部分一元三次方程。
满足下面形式的方程可以直接通过配立方来求解
两边除以a,把常数项移到右边,然后再在两边加上,可以配成,
方程的解为。
开立方可以开出三个根出来,所以x也有三个解。
这类方程用x=y-b/3a换元,可同时消去二次项和一次项,即
对于不能用配方法直接求解的一元三次方程,配方法只能消去方程的二次项。配方是根据三次项系数和二次项系数来配的。
例如这个方程,三次项和二次项的系数分别为1和6,对应的完全立方式的一次项系数和常数项分别为12和8,所以在方程两边加上,得到
即
右边的可以表示成
于是
这和二次方程很不一样。二次方程配方后只有左边有x,可以两边开平方求解。三次方程配方后,方程的两边都有x,所以无法直接开立方求解,我们必须要寻找新方法解出x+2的值才行(这个所谓的新方法就是卡丹公式法)。
令(即,其实就是)
于是得到了消去二次项的方程
即
接下来就可以利用卡丹公式来求解这个新方程。这个方程和换元法得到的方程是一样的。
通过卡丹公式求出3个y值后,我们就得到了x+2的值:,和(由于△小于0,求解过程中需要用到虚数,但最终计算出来是3个实数)
这样,原方程的解x就求出来了:
一般的一元三次方程通过配方法转换后,或通过代换后,可消去二次项,得到,所以解三次方程的关键是解只含有一次项的方程。
含有二次项但不含有一次项的一元三次方程,经过代换后可以消掉二次项,但是却会冒出一次项出来。对于方程,代换后得到的是。因为b≠0 ,所以一定会有一次项冒出来。
下面我们通过解一个具体的方程来说明只带一次项的一元三次方程的解法。
解方程:
首先,我们令x=u+v,其中u和v是任取的,把这个式子代入方程,我们得到
展开(u+v)3 ,得
提取3u2v+3uv2 的公因式3uv ,得
合并同类项,得
由于u和v可以任取,只要满足u+v=x就行。如果我们取3uv+6=0,那么就可以将式子化简为u3+v3-20=0,于是得到方程组
即
这个方程组有没有解呢?
如果我们令M=u3,N=v3,再把uv=-2的两边立方得到u3v3=-8即MN=-8,我们就得到了方程组
显然,这是一个二元二次方程组(因为单项式MN是二次单项式),肯定是能解的。
M+N=20移项后得到N=20-M,代入MN=-8,得到M(20-M)=-8,化简后就是一个一元二次方程
其中一个解为
所以
这样我们就求出了u和v
u和v相加后,就得到了三次方程的解x
上面是猜出来的,就像我们可以直接猜出,但是像这样的根式就猜不出来,并且也不是所有的三次重根式都可以化简为二次根式跟一个数的和,所以我们就不要想着去化简一个三次重根式了。根据群论的知识,一元三次方程的求根公式必然存在两次开方,四次方程的求根公式必然存在三次开方。从另一个角度来说,开平方和开立方都是可以像加减乘除那样笔算的,我们应该把开方视为像加减乘除那样的普通运算,而不是一个不可拆的符号。之前是有人发明了除号÷,发现写在算式里面还好,但是写在代数式里面是很难看的,后来就改成了在代数式中用分数线表示除法。于是后面的人就吸取教训了,不再为开方发明一个单独的二元运算符了,直接用带一个勾勾的线来表示开方,同样乘方也没有发明专门的二元符号,直接在右上角标出来就行,在代数式里面一目了然。所以乘方和开方就成了所谓的代数运算了,而加减乘除属于算术运算。
用笔算开平方的方法算出108开平方后大约是10.392,然后10加根号108是20.392,10减根号108是-0.392,再笔算开立方算到小数点后两位,分别得到2.73和-0.73,相加之后就得到了x=2。笔算时计算的小数数位越多,得到的x值就越精确。如果我们算出来的小数位数足够多的话,最后开立方出来是2.7320508……和-0.7320508……,小数部分和根号3是一模一样的,我们很容易看出来这就是1加根号3、1减根号3。后者就是,约等于-(1.732-1)也就是-0.732,小数部分和根号三也是一样的。
虽然中学阶段只学了二次根式的化简,没有学笔算开方,但是我们要知道开根号是可以笔算的,开方也可以视为一个像加减乘除那样的普通运算。而不是一看到开根号就很害怕,就想着怎么去化简。事实上,三次重根式是很复杂的,要想化简是非常困难的。只要学会了列竖式笔算开平方和开立方,我们就能在没有计算器的情况下,利用三次方程的求根公式,笔算出任何一个三次方程的解。(笔算除法时有一个说法叫试商,笔算开方的时候也有一个类似的说法——试根)
四次方程的求根公式里面只有平方根和立方根,没有四次方根,所以通过笔算开平方和开立方,也能直接笔算出四次方程的解。四次方程求根公式里面包含的三重根式更加复杂,就更不要想着去化简了,老老实实笔算出来吧。
在这个例子中,u和v都是无理数,两个无理数相加后得到有理数x=2。虽然实际的解是一个有理数,可以精确表示,但是无理数很难精确表示,手工相加后的结果也不精确,于是我们只能得到近似的解。对于这种两个无理数相加得到有理数的情况,只有想办法提高无理数的计算精度,使求出的非精确解尽可能接近实际的解。
在已知的情况下,可以利用一元二次方程将化简为的形式。
例如,在解三次方程的过程中,我们会遇到下面这个式子
强行开平方、开立方后计算出来,这个式子的值大约为5。
用计算器分别计算两个三次根式的值,算到小数点后29位,可以发现小数部分是一模一样的(就算不一样,也仅仅是最后一位或两位)。所以我们可以直接肯定,这两个根式的和就是5。
+8.92261628933256451005844923882
-3.92261628933256451005844923882
通过平方差公式,可以求出这两个三次重根式的乘积
这可以组成一个二元二次方程组
其中u和v是待化简的三次重根式
用代入消元法消去v,得到关于u的一元二次方程
(当然,也可以直接根据韦达定理写出这个方程)
u和v就是方程的两根,解得
所以化简的结果为
三次方程的解可以表示为
一元三次方程都可化为。它的解是:
其中。
根与系数的关系为。
判别式为。当时,有一个实根和两个复根;时,有三个实根,当时,为三重零根,时,三个实根中有两个相等;时,有三个不等实根。
其中。
一般的一元三次方程的形式为
其中a≠0,这个方程的根为
其中
三个根与系数的关系为
判别式为
当△大于0时,有一个实根和两个共轭虚根。
当△=0时,有三个实根。若p=q=0,三个实根都相等;否则三个实根中有两个相等。
当△小于0时,有三个不相等的实根。
下面讨论求解缺二次项的三次方程x3+px+q=0的一般方法。
卡尔丹诺法的基本思想是:将x分解为u和v的和(即x=u+v),使一元方程先变为二元方程。然后再添加一个关于u和v的方程,形成二元方程组。这个方程组经过消元后会变成一元二次方程,解这个方程可求出u和v,u和v相加便得到了x。
首先,令x=u+v,代入方程,得到
(u+v)3+p(u+v)+q=0
展开立方项,得
u3+v3+3uv(u+v)+p(u+v)+q=0
u3+v3+(3uv+p)(u+v)+q=0
方程有两个未知数,却只有一个方程,没有办法解。需要添加一个方程,形成方程组之后才能解。
我们可以添加下面这个方程
3uv+p=0
添加这个方程后,就会使原来方程中的(3uv+p)(u+v)这一项变为0,从而变得更加简单,并形成方程组
第二个方程两边立方,得到
注意,这一步会产生6个增根,变成总共9个根。这6个增根不是原三次方程的根,原方程只有3个根。
x1, x2, x3为原方程的三个根。本来x1=u1+v1,x2=u2+v2,x3=u3+v3。u1和v1相乘等于-p/3,u1和v2相乘不等于-p/3。但是两边立方之后,u1的立方乘上v2的立方却等于-p3/27。也就是说u1+v2是一个增根,不是原三次方程的根。
产生的6个增根为:u1+v2、u1+v3、u2+v1、u2+v3、u3+v1和u3+v2。这六个增根不满足uv=-p/3,但是满足u3v3=-p3/27。
接下来,我们记M=u3,N=v3,方程组变为
这是一个二元二次方程组。可以通过消元法根据N=-q-M消去N,得到关于M的一元二次方程
(也可以根据韦达定理直接写出对应的一元二次方程)
用一元二次方程的求根公式求解这个方程,得到
于是
在上面的推导过程中,新添加的方程是3uv+p=0,即u和v之间的关系是v=-p/3u,所以x=u+v=u-p/3u。我们只需要令x=u-p/3u就可以将缺二次项的一元三次方程降次为一元二次方程,这个代换叫做韦达代换。
代换后得到的方程为
两边同乘u3,得
令M=u3,这个方程和之前卡丹公式法的二次方程是一模一样的,只是符号刚好相反。
由于没有v的存在,最终得到的求根公式稍微有些复杂
但实际上,根据平方差公式
所以
由韦达代换得到的公式和卡丹公式是等价的。
任何正实数都有两个平方根,一个为正,另一个为负,正的称为算术平方根。例如4的平方根是2和-2,其中2是算术平方根。我们将算术平方根的概念推广到复数,-9的平方根为3i和-3i,其中3i是算术平方根。对于3+4i这个数,模长为5,辐角约为53.13°,两个平方根为2+i和-2-i,模长都是√5,辐角大约为26.565°和-153.435°。由于2+i的辐角是3+4i辐角的一半,所以2+i是3+4i的算术平方根。
在复数范围内,任何非零数都有三个立方根。而三次根号开方结果仅为其中的一个立方根,这个立方根叫做算术立方根。
在求根公式中有两个三次根号,每个三次根号都能开出三个立方根,总共组合起来有9个根。但实际上,9个根里面只有3个根是原三次方程的根。其余6个根都是增根,不是原三次方程的根。上面的推导过程中已经提到,这6个增根是在uv=-p/3两边立方变为u3v3=-p3/27的过程中产生的。
我们先看1有哪些立方根。求1的立方根,其实就是求方程x3-1=0的三根。方程可根据立方差公式,因式分解为(x-1)(x2+x+1)=0,得到x1=1,x2,3=(-1±√3i)/2,通常将x2=(-1+√3i)/2记为ω。于是1的三个立方根可记为x1=ωº=1,x2=ω1,x3=ω2,其中x1=1是1的算术立方根:3√1=1。
类似数a的全部平方根为±√a的表示方法,数a的全部立方根可表示为。
模长为a,辐角为b的复数可记为a∠b,辐角的范围为-180°b小于或等于180°。a∠b=a(cosb+i·sinb)。
根据复数的乘法法则,a∠b×c∠d=ac∠(b+d),即模长相乘,辐角相加。于是(a∠b)3=a3∠3b。一个复数求立方根,就是模长开立方,辐角除以3。ω为∠120°,ω2=∠240°=∠(240°-360°)=∠-120°。所以a∠b的三个立方根为3√a∠(b/3)和3√a∠(b/3±120°)。
为了防止三次方程的求根公式求出增根,我们规定求根公式中的三次根号求的是算术立方根,并在复数范围内对数a的算术立方根作如下规定:
(1) 若a是实数,则a的算术立方根为实数。
(2) 若a是虚数,且辐角为b,则a的算术立方根为辐角为b/3的虚数。
规则(1)非常重要。如果只有规则(2)没有规则(1),那么-8的算术立方根就不是-2,而是辐角为60°的2∠60°=1+√3i,求根公式就有可能求出增根。
例如,-8的立方根有-2,1+√3i和1-√3i。其中-2是算术立方根。
64的立方根有4,-2+2√3i和-2-2√3i。其中4是算术立方根。
16+88i(辐角约为79.7°)的算术立方根是4+2i(辐角约为26.565°),另外两个立方根是(-√3-2)+(2√3-1)i和(√3-2)+(-2√3-1)i,辐角约为146.566°和-93.436°。
这样规定后,三次方程的三个根为x1=ωºu+ωºv=u+v,x2=ω1u+ω2v,x3=ω2u+ω1v,其他的比如ω1u+ω1v都是增根。这是因为,ω1u·ω1v=ω2uv≠-p/3,而ω1u·ω2v=ω3uv=uv=-p/3。其中u是M的算术立方根,v是N的算术立方根。这个增根满足(ω1u)3(ω1v)3=ω3u3·ω3v3=u3v3=-p3/27。
二次根号下的式子就是一元三次方程的判别式
M的±取正号,N取负号。将x1表示为u+v,把虚数ω的值代入公式后,x2为
x3=ω2u+ωv,其实就是把x2里面的u和v换了下位置,u+v和v+u相等,u-v和v-u互为相反数,即u-v=-(v-u)
所以,x2和x3可表示为
当△大于0时,△开平方后是正数,u和v是不相等的实数,于是x1是实数。由于u-v≠0,所以x2和x3为共轭虚数。
当△=0时,△开平方为0,u和v相等,u-v=0,于是三个根都是实数。x1=2u;x2和x3相等,都等于-u。特别地,当q=0时(因△=0此时p也等于0),u=0,为三重零根。
当△小于0时,△开平方为纯虚数,M和N为共轭虚数。共轭虚数的辐角互为相反数,开n次方后辐角除以n,仍然为相反数,所以共轭虚数开任意次方结果仍是共轭虚数。因此M和N开立方后的u和v也是共轭虚数,且u≠v。根据共轭虚数的性质,共轭虚数的和为实数(即(a+bi)+(a-bi)=2a),所以x1为实数。共轭虚数的差为纯虚数(即(a+bi)-(a-bi)=2bi),而纯虚数与i相乘一定为实数,因此(u-v)i为实数,x2和x3都是实数,方程有三个不相等的实根。
请注意,这里一定要区分复数和虚数这两个概念,复数是实数和虚数的统称。所以,像0、1、2这样的自然数也是复数,3.8、-5.4这种小数也是复数。而虚数是虚部不为0的数,特指3+4i,-5-3i这类带i的数。
当判别式△小于0时,三次方程的三个根都是实数根。此时求根公式中的二次根号下是负数,开平方后是虚数,所以这类方程需要用到虚数才能求解。
比如,解方程:x3+3x2-12x-18=0。其中a=1, b=3, c=-12, d=-18。
先算出p和q:
p=(3ac-b2)/3a2=-15,q=(27a2d-9abc+2b3)/27a3=-4
所以
-121开平方后是11i,接下来需要对2+11i和2-11i开立方。
所以
开立方后是
实际上,的精确值是。所以
由于,所以方程的另外两个根也是实数。
根据前面提到的公式
其中
得到另外两个根
从中可以发现,虽然三个根都是实数根,但是求解过程中却遇到了虚数。虚数经过运算后,最终结果为实数。这个三次方程的根比较简单,求解过程中遇到的三次重根式可以化简。但是,绝大多数三次方程的根都是无理数,其三次重根式无法化简,那么这时就必须要用虚数才能用根号精确表示这些复杂的无理实根,即:用带虚数的根式来表示一个实数。
由此可见,三次方程的根比二次方程的根的复杂度要高出很多。二次方程的根仅仅用单层二次根号就能精确表示出来,而三次方程的根不仅需要用到二、三次双重根号,有时甚至还需要用到虚数才能精确表示。
我们可以将求根公式代入回原方程中来检验公式是否正确。
特殊型一元三次方程
其中一个解为
代入x3,展开后得到
u和v的立方和为
u和v的乘积可以用平方差公式计算
所以
因此,卡丹公式是正确的。
A~D栏填写方程的系数(实数)
F栏计算参数p:
=(3*A2*C2-B2*B2)/(3*A2*A2)
G栏计算参数q:
=(27*A2*A2*D2-9*A2*B2*C2+2*B2*B2*B2)/(27*A2*A2*A2)
H栏计算判别式△:
=G2*G2/4+F2*F2*F2/27
I栏计算判别式的平方根:
=IMSQRT(H2)
J栏为方程第一个根:
=IMROUND(IMSUM(-B2/(3*A2),IMCBRT(IMSUM(-G2/2,I2)),IMCBRT(IMSUB(-G2/2,I2))),6)
K栏为方程第二个根:
=IMROUND(IMSUM(-B2/(3*A2),IMCBRT(IMSUM(-G2/2,I2),1),IMCBRT(IMSUB(-G2/2,I2),2)),6)
L栏为方程第三个根:
=IMROUND(IMSUM(-B2/(3*A2),IMCBRT(IMSUM(-G2/2,I2),2),IMCBRT(IMSUB(-G2/2,I2),1)),6)
M栏检验第一的根的误差:
=IMROUND(IMSUM(IMPRODUCT(A2,J2,J2,J2),IMPRODUCT(B2,J2,J2),IMPRODUCT(C2,J2),D2),6)
N栏检验第二个根的误差:
=IMROUND(IMSUM(IMPRODUCT(A2,K2,K2,K2),IMPRODUCT(B2,K2,K2),IMPRODUCT(C2,K2),D2),6)
O栏检验第三个根的误差:
=IMROUND(IMSUM(IMPRODUCT(A2,L2,L2,L2),IMPRODUCT(B2,L2,L2),IMPRODUCT(C2,L2),D2),6)
其中用到的两个自定义函数(按Alt+F11,在弹出的窗口中添加模块):
函数的用法:
IMCBRT(x)求x的算术立方根,IMCBRT(x,1)和IMCBRT(x,2)求x的其他两个立方根
(注意-8的算术立方根是-2,不是1+√3i,Excel自带的IMPOWER(-8,1/3)算出来的是1+√3i)
IMROUND(x,n)让复数x四舍五入保留n位小数
未知数与常数互易法,顾名思义,就是把未知数看成是“常数”,把常数看成是“未知数”。这种方法可以“降低”方程的次数,从而转化为一元二次方程来求解。
上述方法虽然运用了两次求根公式,但是比起一般的解一元三次方程的方法就要简单得多。