昨天做一道二分的题目,就是一元三次方程求三个根,然后从小到大输出。
我发现好多大佬都是用的盛金公式或者牛顿迭代(听说比二分快)。
所以我打算学习一下,对于盛金公式我只找了百度和作业帮的资料,还有一些学术网站的证明(肯定不会看%%%)
所以我打算简单的介绍一下盛金公式。
假设一元三次方程:aX3+bX2+cX+d=0
首先和一元二次方程类似,他也有重根判别式:A=b*b-3*a*c;
B=b*c-9*a*d;
C=c*c-3*b*d;
derta=B2-4*A*C;//总判别式
当A=B=0时:盛金公式1:X1=X2=X3=-b/(3*a)=-c/b=-3d/c

盛金公式2:Y1,2=A*b+3*a*(-B±sqrt(B2-4*AC))/2; i2=1
X1=(-b-(pow(Y1,1/3)+pow(Y2),1/3))/(3*a);
X2,3=(-b+(pow(Y1,1/3)+pow(Y2,1/3))±sqrt(3)*(pow(Y1,1/3)-pow(Y2,1/3)*i/2)/2)/(3*a);

盛金公式3:K=B/A;(A!=0)
X1=-b/a+K;
X2=X3=-K/2;

关注
打赏