c语言编程编程f(x)=x^3-5x^2-x+4在(0,1)范围内的方程根
展开全部
不知道你需要什么算法,三次方程的是有现成算法的,现在比较方便的是盛金公式,具体算法如下,你可以参考了自己写个程序,最后加个范围判断就好了。
一元三次方程aX^3+bX^2+cX+d=0,(a,b,c,d∈R,且a≠0)。
重根判别式:
A=b^2-3ac;
B=bc-9ad;
C=c^2-3bd,
总判别式:
Δ=B^2-4AC。
当A=B=0时,盛金公式①:
X1=X2=X3=-b/(3a)=-c/b=-3d/c。
当Δ=B^2-4AC>0时,盛金公式②:
X1=(-b-((Y1)^(1/3)+(Y2)^(1/3)))/(3a);
X2,3=(-2b+(Y1)^(1/3)+(Y2)^(1/3)±3^(1/2)((Y1)^(1/3)-(Y2)^(1/3))i)/(6a),
其中Y1,2=Ab+3a(-B±(B^2-4AC)^(1/2))/2,i^2=-1。
当Δ=B^2-4AC=0时,盛金公式③:
X1=-b/a+K;
X2=X3=-K/2,
其中K=B/A,(A≠0)。
当Δ=B^2-4AC<0时,盛金公式④:
X1=(-b-2A^(1/2)cos(θ/3))/(3a);
X2,3=(-b+A^(1/2)(cos(θ/3)±3^(1/2)sin(θ/3)))/(3a),
其中θ=arccosT,T= (2Ab-3aB)/(2A^(3/2)),(A>0,-1<T<1)。
一元三次方程aX^3+bX^2+cX+d=0,(a,b,c,d∈R,且a≠0)。
重根判别式:
A=b^2-3ac;
B=bc-9ad;
C=c^2-3bd,
总判别式:
Δ=B^2-4AC。
当A=B=0时,盛金公式①:
X1=X2=X3=-b/(3a)=-c/b=-3d/c。
当Δ=B^2-4AC>0时,盛金公式②:
X1=(-b-((Y1)^(1/3)+(Y2)^(1/3)))/(3a);
X2,3=(-2b+(Y1)^(1/3)+(Y2)^(1/3)±3^(1/2)((Y1)^(1/3)-(Y2)^(1/3))i)/(6a),
其中Y1,2=Ab+3a(-B±(B^2-4AC)^(1/2))/2,i^2=-1。
当Δ=B^2-4AC=0时,盛金公式③:
X1=-b/a+K;
X2=X3=-K/2,
其中K=B/A,(A≠0)。
当Δ=B^2-4AC<0时,盛金公式④:
X1=(-b-2A^(1/2)cos(θ/3))/(3a);
X2,3=(-b+A^(1/2)(cos(θ/3)±3^(1/2)sin(θ/3)))/(3a),
其中θ=arccosT,T= (2Ab-3aB)/(2A^(3/2)),(A>0,-1<T<1)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询