20 lines
389 B
Python
20 lines
389 B
Python
def fx(x):
|
|
return x**4-3*x+1
|
|
|
|
# 二分法求解方程的根
|
|
def SolveByDivTwo(x1,x2,err):
|
|
while abs(x2-x1) >= err:
|
|
x = (x1+x2)/2
|
|
if fx(x) * fx(x1) < 0:
|
|
x2 = x
|
|
else:
|
|
x1 = x
|
|
return (x1+x2)/2
|
|
|
|
|
|
if __name__ == "__main__":
|
|
x1 = 0.3
|
|
x2 = 0.4
|
|
err = 0.5e-5
|
|
root = SolveByDivTwo(x1, x2, err)
|
|
print(f"Root: {root:.5f}") |