In [7]:
def root_fix_point(f, x0, n):
x = x0
for i in range(n):
x = f(x)
print(f'第{i}次迭代结果是 {x}')
In [19]:
# x^2 - 2 = 0
def f1(x):
return (2 * x) ** (1/3)
root_fix_point(f=f1, x0=1, n=20)
第0次迭代结果是 1.2599210498948732 第1次迭代结果是 1.360790000174377 第2次迭代结果是 1.3961766429234024 第3次迭代结果是 1.4081755128503535 第4次迭代结果是 1.4121980079708376 第5次迭代结果是 1.41354139147575 第6次迭代结果是 1.413989469900099 第7次迭代结果是 1.4141388609362946 第8次迭代结果是 1.4141886614557184 第9次迭代结果是 1.414205262018586 第10次迭代结果是 1.4142107955828458 第11次迭代结果是 1.414212640109077 第12次迭代结果是 1.4142132549516888 第13次迭代结果是 1.4142134598992855 第14次迭代结果是 1.4142135282151578 第15次迭代结果是 1.4142135509871159 第16次迭代结果是 1.4142135585777686 第17次迭代结果是 1.4142135611079862 第18次迭代结果是 1.414213561951392 第19次迭代结果是 1.4142135622325274