迭代法python代码
pythondef iteration_method(f, x0, tol=1e-6, max_iter=100):
"""
迭代法求解方程的根
参数:
f: 函数,方程 f(x) = 0
x0: float,初始猜测值
tol: float,容差,即允许的误差范围
max_iter: int,最大迭代次数
返回:
x: float,方程的近似根
iter_count: int,迭代次数
"""
x = x0
iter_count = 0
while iter_count < max_iter:
x_new = f(x)
if abs(x_new - x) < tol:
return x_new, iter_count
x = x_new
iter_count += 1
raise ValueError("迭代法未收敛")
# 示例:求解方程 x^2 - 3 = 0 的根
def f(x):
return x ** 2 - 3
root, iterations = iteration_method(f, 2)
print("根:", root)
print("迭代次数:", iterations)
这段代码定义了一个iteration_method函数,它接受一个函数f,以及一个初始猜测值x0。在每次迭代中,它计算新的猜测值x_new,直到满足给定的容差tol或达到最大迭代次数max_iter为止。然后,它返回近似的根以及迭代次数。
迭代法的实现是相当简单的。它通常用于解决方程 $f(x) = 0$ 的根,其中 $f(x)$ 是一个连续的函数。迭代法的基本思想是从一个初始的猜测值 $x_0$ 开始,然后通过反复应用一个迭代函数 $x_{n+1} = g(x_n)$ 来生成一个数列 ${x_n}$,直到满足某个停止准则。