Метод простых итераций

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
Строка 4: Строка 4:
Решение необходимо найти численно, то есть для реализации на ЭВМ. Для решения этой задачи предлагается использовать метод простых итераций.
Решение необходимо найти численно, то есть для реализации на ЭВМ. Для решения этой задачи предлагается использовать метод простых итераций.
== Метод простых итераций в общем виде ==
== Метод простых итераций в общем виде ==
-
Заменеим исходное уравнение <tex>f(x)=0</tex> на эквивалентное <tex>g(x)=x</tex>,и будем строить итерации по правилу <tex>x_{n+1} = g(x_n)</tex>. Таким образом метод простой итерации - это одношаговый итерационный процесс. Для того, что бы начать данный процесс, необходимо знать начальное приближение <tex>x_1</tex>. Выясним условия сходимости метода.
+
Заменеим исходное уравнение <tex>f(x)=0</tex> на эквивалентное <tex>g(x)=x</tex>,и будем строить итерации по правилу <tex>x_{n+1} = g(x_n)</tex>. Таким образом метод простой итерации - это одношаговый итерационный процесс. Для того, что бы начать данный процесс, необходимо знать начальное приближение <tex>x_0</tex>. Выясним условия сходимости метода.
===Сходимость метода простых итераций===
===Сходимость метода простых итераций===
Метод сходится, если при <tex>k \to \infty </tex> последовательность {<tex>x_n</tex>} имеет предел.<br>
Метод сходится, если при <tex>k \to \infty </tex> последовательность {<tex>x_n</tex>} имеет предел.<br>
Обозначим <tex>U_r(a)</tex> окресность точки <tex>a</tex> радиуса <tex>r</tex>, то есть <tex>U_r(a) = \{x:|x-a|<r\}</tex>.<br>
Обозначим <tex>U_r(a)</tex> окресность точки <tex>a</tex> радиуса <tex>r</tex>, то есть <tex>U_r(a) = \{x:|x-a|<r\}</tex>.<br>
-
'''Теорема.''' Если <tex>g(x)</tex> Липшиц непрерывна с константой <tex>q \in (0,1)</tex> на <tex>U_r(a)</tex>, то есть выполняется <tex>|g(x'')-g(x')|<q|x''-x'|</tex>. При этом если также выполнено <tex>|g(a)-a|<(1-q)r</tex>, то уравнение <tex>x = g(x)</tex> имеет решение на <tex>U_r(a)</tex> и метод простой итерации сходится к решению при любом выборе начального приближжения <tex>x_1 \in U_r(a)</tex>.<br>
+
'''Теорема.''' Если <tex>g(x)</tex> Липшиц непрерывна с константой <tex>q \in (0,1)</tex> на <tex>U_r(a)</tex>, то есть выполняется <tex>|g(x'')-g(x')|<q|x''-x'|</tex>. При этом если также выполнено <tex>|g(a)-a|<(1-q)r</tex>, то уравнение <tex>x = g(x)</tex> имеет единственное решение на <tex>U_r(a)</tex> и метод простой итерации сходится к решению при любом выборе начального приближжения <tex>x_1 \in U_r(a)</tex>.<br>
 +
Так же справедлива оценка: <tex>|x_k-x_*|<q^k|x_0-x_*|</tex>, где <tex>x_*</tex> - точное решение.<br>
-
===Метод релаксации===
+
==Метод релаксации==
Так как для сходимости метода очень важен выбор функции <tex>g(x)</tex>, ее обычно берут вида <tex>g(x)=x+s(x)f(x)</tex>. Где <tex>s(x)</tex> не меняет знака на отрезке, на котором ищется корень функции.<br>
Так как для сходимости метода очень важен выбор функции <tex>g(x)</tex>, ее обычно берут вида <tex>g(x)=x+s(x)f(x)</tex>. Где <tex>s(x)</tex> не меняет знака на отрезке, на котором ищется корень функции.<br>
Положим <tex>s(x) = c = const </tex> b и рассмотрим метод в этом случае.<br>
Положим <tex>s(x) = c = const </tex> b и рассмотрим метод в этом случае.<br>

Версия 08:43, 24 ноября 2008

Содержание

Постановка задачи

Пусть есть функция y = f(x).
Требуется найти корень этой функции, то есть x при котором f(x)=0
Решение необходимо найти численно, то есть для реализации на ЭВМ. Для решения этой задачи предлагается использовать метод простых итераций.

Метод простых итераций в общем виде

Заменеим исходное уравнение f(x)=0 на эквивалентное g(x)=x,и будем строить итерации по правилу x_{n+1} = g(x_n). Таким образом метод простой итерации - это одношаговый итерационный процесс. Для того, что бы начать данный процесс, необходимо знать начальное приближение x_0. Выясним условия сходимости метода.

Сходимость метода простых итераций

Метод сходится, если при k \to \infty последовательность {x_n} имеет предел.
Обозначим U_r(a) окресность точки a радиуса r, то есть U_r(a) = \{x:|x-a|<r\}.
Теорема. Если g(x) Липшиц непрерывна с константой q \in (0,1) на U_r(a), то есть выполняется |g(x'')-g(x')|<q|x''-x'|. При этом если также выполнено |g(a)-a|<(1-q)r, то уравнение x = g(x) имеет единственное решение на U_r(a) и метод простой итерации сходится к решению при любом выборе начального приближжения x_1 \in U_r(a).
Так же справедлива оценка: |x_k-x_*|<q^k|x_0-x_*|, где x_* - точное решение.

Метод релаксации

Так как для сходимости метода очень важен выбор функции g(x), ее обычно берут вида g(x)=x+s(x)f(x). Где s(x) не меняет знака на отрезке, на котором ищется корень функции.
Положим s(x) = c = const b и рассмотрим метод в этом случае.
Тогда получим f(x_n) = \frac{x_{n+1}-x_{n}}{c}.

Числовые примеры

Рекомендации программисту

Заключение

Ссылки

Список литературы

  • А.А.Самарский, А.В.Гулин. Численные методы. Москва «Наука», 1989.
  • Н.Н.Калиткин. Численные методы. Москва «Наука», 1978.