我终于写出求一元四次方程解的程序了
我终于写出求一元四次方程解的程序了这是一次到四次的代码
def ycfc(a,b):
#一次方程
return -b/a
def ecfc(a,b,c):
#二次方程
return (-b+((b**2)-4*a*c)**0.5)/a/2,(-b-((b**2)-4*a*c)**0.5)/a/2
def scfc(a,b,c,d):
#三次方程
d=b*c/(6*(a**2))-(b**3)/(27*(a**3))-d/2/a
e=(d+(c/3/a-(b**2)/9/(a**2))**3)**0.5
q=-b/3/a
u=0+1j
v=(-1+(3**0.5)*u)/2
v1=(-1-(3**0.5)*u)/2
return q+(d+e)**(1/3)+(d-1)**(1/3),q+v*((d+e)**(1/3))+v1*((d-e)**(1/3)),q+v1*((d+e)**(1/3))+v*((d-e)**(1/3))
def hcfc(a,b,c,d,e):
#四次方程
d1=(c**2)-3*b*d+12*a*e
d2=2*(c**3)-9*b*c*d+27*a*(d**2)+27*(b**2)*e-72*a*e
d3=((2**(1/3))*d1)/(3*a*(d2+(-4*d1**3+d2*2)**0.5)*(1/3))
d4=((d2+(-4*(d1**3)+d2**2)**0.5)*1/3)/(3*(2**1/3)*a)
d=d3+d4
q=-b/4/a
w=(b**2)/4*(a**2)-2*c/3/a
r=-b*b*b/a/a/a+4*b*c/a/a-8*d/a
t=(w+d)**0.25
y=r/t
u=0.5*(w+d)**0.5
return q-u-0.5*(w-d-y)**0.5,q-u+0.5*(w-d-y)**0.5,q+u-0.5*(w-d+y)**0.5,q+u+0.5*(w-d+y)**0.5 牛批 66666666
页:
[1]