Метод итераций. важно
Для метода необходимо из f(x) выразить x. получится x = Fi(x), где Fi(x) -преобразованная функция. Вопрос: каким алгоритмом выразить x из f(x)?? И какие проверки надо предусмотреть, чтобы осуществить правильность ввода x_0 и сходимость метода??
В разных источниках по разному описано.
Заранее благодарен. очень нужно до завтра
fi(x)=f(x)+x;
Допустим "+"
От нее шагаете в обе стророны на d Смотрите знаки функции в точках (X0+d) и (X0-d), если хотяб один отличен он значения в X0 - вы знате отрезок, на котором есть корень - дальше методом двойного деления.
Если знаки совпедеют - увеличивате d.
Цитата: Revenant
Для метода необходимо из f(x) выразить x. получится x = Fi(x), где Fi(x) -преобразованная функция. Вопрос: каким алгоритмом выразить x из f(x)?? И какие проверки надо предусмотреть, чтобы осуществить правильность ввода x_0 и сходимость метода??
В разных источниках по разному описано.
Заранее благодарен. очень нужно до завтра
В разных источниках по разному описано.
Заранее благодарен. очень нужно до завтра
Я немного не понял: это метод последовательных приближений, или метод Вегстейна (улучшеный метод последовательных приближений)? Если второе, то он сходиться всегда. Насчёт выделения x = Fi(x), а Fi(x)-x = F(x) = 0 - имхо, бред. Просто реализуешь отдельную функцию, которая возвращает значение Fi(x) в заданой точке. Опять же, если имелось в виду, как из f(x) = 0 получить Fi(x) = x, то тут всё просто: к обоим частям прибавить значение x. А про начальное приближение sigmov абсолютно прав, т.е. если x1 - значение, при котором функция (f(x) = 0) меньше нуля, а x2 - значение при котором функция больше нуля, то в лучшем случае между двумя этими иксами есть такое значение x, в котором функция равна нулю. А x0 = (x1 + x2) / 2, по-моему.