алгоритм итерации с фиксированной точкой

Меня просят написать программу для решения этого уравнения ( x^3 + x -1 = 0 ) с использованием итерации с фиксированной точкой.

Каков алгоритм итерации с фиксированной точкой? Есть ли в Python пример кода итерации с фиксированной точкой? (не функция из каких-то модулей, а код с алгоритмами)

Благодарю вас


person bbnn    schedule 02.12.2010    source источник
comment
Что у вас есть до сих пор?   -  person SingleNegationElimination    schedule 02.12.2010
comment
Прочтите это для начала: en.wikipedia.org/wiki/Fixed_point_%28mathematics%29 Хотя это сложно понять, это довольно просто реализовать.   -  person ruslik    schedule 02.12.2010


Ответы (2)


Во-первых, прочитайте это: Итерация с фиксированной точкой: Приложения

Я выбрал метод Ньютона.

Теперь, если вы хотите узнать о функциях генератора, вы можете определить функцию генератора и создать экземпляр объекта генератора следующим образом.

def newtons_method(n):
    n = float(n)  #Force float arithmetic
    nPlusOne = n - (pow(n,3) + n - 1)/(3*pow(n,2) +1)
    while 1:
        yield nPlusOne
        n = nPlusOne
        nPlusOne = n - (pow(n,3) + n - 1)/(3*pow(n,2) +1)

approxAnswer = newtons_method(1.0)   #1.0 can be any initial guess...

Затем вы можете получить последовательно лучшие приближения, позвонив:

approxAnswer.next()

см.: PEP 255 или Классы (генераторы) — Python v2.7 для получения дополнительной информации о генераторах

Например

approx1 = approxAnswer.next()
approx2 = approxAnswer.next()

Или еще лучше использовать цикл!

Что касается решения, когда ваше приближение достаточно хорошо... ;)

person William    schedule 02.12.2010

Псевдокод находится здесь, вы должны понять его. оттуда.

person Rafe Kettler    schedule 02.12.2010