|
发表于 2020-7-27 21:56:33
|
显示全部楼层
这是一次方程到四次方程的程序
- 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
复制代码
如果问题解决,那么别忘了设置最佳答案 |
|