迭代法python代码

python
def 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}$,直到满足某个停止准则。