Описание:

Последовательное приближение является общим методом, в котором на каждой итерации алгоритма мы находим более близкую оценку ответа, для которого мы ищем. Один класс алгоритмов последовательного приближения использует идею неподвижной точки. Если f (x) математическая функция, то нахождение x такого, что f (x) = x, дает нам фиксированную точку f.

Один из способов найти фиксированную точку - начать с некоторой догадки (например, угадать = 1,0) и, если это не достаточно хорошо, использовать в качестве следующей догадки значение f (предположение). Мы можем продолжать повторять этот процесс, пока не получим предположение, которое находится в пределах эпсилона от f (предположения).

Вот немного неправильное определение этой функции:

def fixedPoint(f, epsilon):
    """
    f: a function of one argument that returns a float
    epsilon: a small float

    returns the best guess when that guess is less than epsilon 
    away from f(guess) or after 100 trials, whichever comes first.
    """
    guess = 1.0
    for i in range(100):
        if f(guess) - guess < epsilon:
            return guess
        else:
            guess = f(guess)
    return guess

В этом определении функции есть ошибка. Вы можете исправить это, исправив ровно одну строку определения.

Спасибо.

-4
Niemand