Редактирование: Численные Методы, 12 лекция (от 26 марта)

Материал из eSyr's wiki.

Перейти к: навигация, поиск

Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.

Текущая версия Ваш текст
Строка 1: Строка 1:
-
[[Численные Методы, 11 лекция (от 20 марта)|Предыдущая лекция]] | [[Численные Методы, 13 лекция (от 27 марта)|Следующая лекция]]
+
== From Ebaums Inc to MurkLoar. ==
-
 
+
We at EbaumsWorld consider you as disgrace of human race.
-
= Глава 3. Численное решение нелинейных уравнений и систем нелинейных уравнений =
+
Your faggotry level exceeded any imaginable levels, and therefore we have to inform you that your pitiful resourse should be annihilated.
-
== Параграф 1. Введение ==
+
Dig yourself a grave - you will need it.
-
f(x) = 0, x — вещественное (1)
+
-
 
+
-
Если f(x) нелинейна, то решить аналитически такую задачу удаётся в крайне редких случаях.
+
-
 
+
-
Будет рассмотрен ряд методов, они будут обоснованы, будут указаны основные их характеристики.
+
-
 
+
-
На f будем требовать только гладкость.
+
-
 
+
-
Если берём x вещественное, то не освобождаемся от комплексных корней, поэтому предполагаются комплексные корни.
+
-
 
+
-
# Локализация корня x<sub>*</sub>, f(x<sub>*</sub>) = 0, указать область, где он находится. Этим мы заниматься не будем.
+
-
# Строится итерационный процесс, и аккуратно выбирая начальное приближение x<sub>0</sub> из локализованной области, x<sub>n</sub> &rarr; x<sub>*</sub>, n &rarr; &infin;.
+
-
 
+
-
=== Нелинейная система ===
+
-
{|
+
-
|rowspan = "4"|{
+
-
|f<sub>1</sub>(x<sub>1</sub>, x<sub>2</sub>, &hellip;, x<sub>m</sub>) = 0
+
-
|-
+
-
|f<sub>2</sub>(x<sub>1</sub>, x<sub>2</sub>, &hellip;, x<sub>m</sub>) = 0
+
-
|-
+
-
|&hellip;
+
-
|-
+
-
|f<sub>m</sub>(x<sub>1</sub>, x<sub>2</sub>, &hellip;, x<sub>m</sub>) = 0
+
-
|}
+
-
 
+
-
* f: R<sub>m</sub> &rarr; R<sub>m</sub>
+
-
* f_ = (f<sub>1</sub>, &hellip;, f<sub>m</sub>)<sup>T</sup>
+
-
* x_ = (x<sub>1</sub>, &hellip;, x<sub>m</sub>)<sup>T</sup>
+
-
* f_ (x_) = 0
+
-
 
+
-
=== Методы ===
+
-
==== Самый простой метод ====
+
-
Пусть корень вещественный. Тогда самый простой метод — разбить отрезок на несколько. Тогда если знак на каком-то из отрезков меняется, то на нём есть нечётное число корней, и его можно разбить ещё. Если же знак не меняется, то там либо нет корней, либо чётное их количество.
+
-
 
+
-
==== Метод бисекции ====
+
-
Второй метод более регулярный и он называется метод бисекции.
+
-
* f(a) < 0
+
-
* f(b) > 0
+
-
* Берётся x<sub>0</sub> = (a + b)/2
+
-
* Если f(x<sub>0</sub>) > 0, то x<sub>*</sub> &isin; (a, x<sub>0</sub>)
+
-
Каждый раз мы сужаем в два раза промежуток, где находится корень
+
-
 
+
-
=== Начальное приближение ===
+
-
Ведём понятие окрестности корня:
+
-
* U<sub>a</sub>(x<sub>*</sub>) = {x: |x &minus; x<sub>*</sub>| < a}
+
-
 
+
-
Начальное приближение будем брать в окрестности корня
+
-
 
+
-
== Параграф 2. Метод простой итерации (МПИ) ==
+
-
* f(x) = 0 (1)
+
-
* x<sub>*</sub> &isin; U<sub>a</sub>(x<sub>*</sub>) (по определению)
+
-
* x = S(x) (2)
+
-
* x<sub>n + 1</sub> = S(x<sub>n</sub>) (3)
+
-
* x<sub>0</sub> &isin;(x<sub>*</sub>)
+
-
 
+
-
S(x) выбирается следующим образом: S(x) = x + r(x)f(x) (4). Единственное требование на r(x): sign(r(x)) &ne; 0 при x &isin; U<sub>a</sub>(x<sub>*</sub>).
+
-
 
+
-
Говорят, что S(x)Липшиц-непрерывна (удовлетворпяет условию Лиешица с константой q), x &isin; U<sub>a</sub>(x<sub>*</sub>), &forall; x<sub>1</sub>, x<sub>2</sub> &isin; U<sub>a</sub>(x<sub>*</sub>): |S(x<sub>1</sub>) &minus; S(x<sub>2</sub>)| &le; q|x<sub>1</sub> &minus; x<sub>2</sub>|
+
-
 
+
-
Это условие сильнее непрерывности и слабее дифференцируемости.
+
-
 
+
-
'''Утверждение'''. Пусть S(x) — Липшиц-непрерывна с 0 &lt; q &lt; 1. Тогда МПИ сходится для &forall; x<sub>0</sub> &isin; U<sub>a</sub>(x<sub>*</sub>) со скоростью геометрической функции.
+
-
 
+
-
'''Доказательство'''. Методом матиндукции
+
-
* |x<sub>0</sub> &minus; x<sub>*</sub>| &lt; a
+
-
* |x<sub>n</sub> &minus; x<sub>*</sub>| &lt; a
+
-
* |x<sub>n + 1</sub> &minus; x<sub>*</sub>| &lt; q|x<sub>n</sub> &minus; x<sub>*</sub>|
+
-
** |x<sub>n + 1</sub> &minus; x<sub>*</sub>| = |S(x<sub>n</sub>) &minus; S(x<sub>*</sub>)| &lt; q|x<sub>n</sub> &minus; x<sub>*</sub>|
+
-
Понятно, что эту формулу можно трактовать как рекуррентную, и тогда
+
-
* |x<sub>n</sub> &minus; x<sub>*</sub>| &lt; q<sup>n</sup>|x<sub>0</sub> &minus; x<sub>*</sub>|
+
-
* lim<sub>n &rarr; &infin;</sub>q<sup>n</sup> = 0 &rArr; x<sub>n</sub> &rarr; x<sub>*</sub>
+
-
 
+
-
'''Замечание 1'''. Если известно, что &exist; S'(x), и sup<sub>x &isin; U<sub>a</sub>(x<sub>*</sub>)</sub> |S'(x)| = q &lt; 1, то МПИ сходится, x<sub>0</sub> &isin; U<sub>a</sub>(x<sub>*</sub>)
+
-
 
+
-
'''Замечание 2'''. Расмотрим МПИ, записанный следующим образом:
+
-
* (x<sub>n + 1</sub> &minus; x<sub>n</sub>)/&tau; + f(x<sub>n</sub>) = 0, &tau; &gt; 0, x<sub>0</sub> &isin; U<sub>a</sub>(x<sub>*</sub>), n = 0, 1, 2, &hellip; (5)
+
-
* &exist; f'(x), M<sub>1</sub> = sup<sub>x &isin; U<sub>a</sub>(x<sub>*</sub>)</sub> |f'(x)|
+
-
* S(x) = x &minus; &tau;f(x)
+
-
* Продифференцируем: S'(x) = 1 &minus; &tau;f'(x). Если модуль |S'(x)| &lt; 1, то МПИ сходится. Найдём условия на &tau;:
+
-
** &minus;1 &lt; 1 &minus; &tau;f'(x) &lt; 1 &rArr; 0 &lt; &tau; &lt; 2/M<sub>1</sub>
+
-
Так что если в итерационном методе (5) будем выбирать &tau; в границах, указанных выше, то получим сходимость со скоростью геометрической прогрессии.
+
-
 
+
-
<!-- Педедыв -->
+
-
 
+
-
=== Метод Эйткена ускоренной сходимости ===
+
-
Предположим, что x<sub>n</sub> &minus; x<sub>*</sub> = Aq<sup>n</sup> (6). Запишем три итерации:
+
-
* x<sub>n &minus; 1</sub> &minus; x<sub>*</sub> = Aq<sup>n &minus; 1</sup> (7)
+
-
* x<sub>n</sub> &minus; x<sub>*</sub> = Aq<sup>n</sup> (8)
+
-
* x<sub>n + 1</sub> &minus; x<sub>*</sub> = Aq<sup>n +1</sup> (9)
+
-
Тогда:
+
-
* x<sub>n + 1</sub> = x<sub>*</sub> + Aq<sup>n + 1</sup>
+
-
* x<sub>*</sub> = x<sub>n + 1</sub> &minus; Aq<sup>n + 1</sup>
+
-
* (x<sub>n + 1</sub> &minus; x<sub>n</sub>)<sup>2</sup> = A<sup>2</sup>q<sup>2n</sup>(q &minus; 1)<sup>2</sup>
+
-
* x<sub>n + 1</sub> &minus; 2x<sub>n</sub> + x<sub>n &minus; 1</sub> = Aq<sup>n &minus; 1</sup>(q &minus; 1)<sup>2</sup>
+
-
* ((x<sub>n + 1</sub> &minus; x<sub>n</sub>)<sup>2</sup>)/(x<sub>n + 1</sub> &minus; 2x<sub>n</sub> + x<sub>n &minus; 1</sub>) = Aq<sup>n &minus; 1</sup>
+
-
* x<sub>*</sub> = x<sub>n</sub> &minus; ((x<sub>n + 1</sub> &minus; x<sub>n</sub>)<sup>2</sup>)/(x<sub>n + 1</sub> &minus; 2x<sub>n</sub> + x<sub>n &minus; 1</sub>)
+
-
Но так как (6) неточно, то это оказывается хоть и достаточно точным, но приближением.
+
-
 
+
-
'''Замечание'''. Неважно, какой метод мы ускоряем, главное, чтобы он был записан в виде (6).
+
-
 
+
-
== Параграф 3. Метод Ньютона (касательных) и метод секущих ==
+
-
 
+
-
Нас неудовлетворяет метод простой итерации, медленная сходимость.
+
-
 
+
-
* f(x) = 0 (1)
+
-
* x<sub>*</sub> &isin; U<sub>a</sub>(x<sub>*</sub>) (по определению)
+
-
* x<sup>n</sup> — n-я итерация
+
-
* x<sup>n + 1</sup> = x<sup>n</sup> &minus; f(x<sup>n</sup>)/f'(x<sup>n</sup>), n = 0, 1, &hellip;, x<sup>0</sup> — начальное приближение (2)
+
-
* От функции требуется гладкость до третьей производной
+
-
 
+
-
Метод Ньютона очень быстро сходится, но он может зацикливаться.
+
-
 
+
-
Модифицированный метод Ньютона:
+
-
* x<sup>n + 1</sup> = x<sup>n</sup> &minus; f(x<sup>n</sup>)/f'(x<sup>0</sup>), n = 0, 1, &hellip;, x<sup>0</sup> — начальная итерация
+
-
* Скорость сходимости колеблется, но производительность повышается (особенно в системах) и позволяет избежать зацикливания
+
-
 
+
-
=== Вывод метода Ньютона ===
+
-
* 0 = f(<sub>*</sub>) = f(x) + (x<sub>*</sub> &minus; x)f'(x)
+
-
* x&rarr; x<sup>n</sup>
+
-
* x<sub>*</sub> &rarr; x<sup>n + 1</sup>
+
-
* f(x<sup>n</sup>) + (x<sup>n + 1</sup> &minus; x<sup>n</sup>)f'(x<sup>n</sup>) = 0
+
-
* x<sup>n + 1</sup> = x<sup>n</sup> &minus; f(x<sup>n</sup>)/f'(x<sup>n</sup>)
+
-
 
+
-
Начальное приближение выбираем очень и очень жёстко.
+
-
 
+
-
=== Вывод метода Ньютона для системы уравнений ===
+
-
==== Частный случай для двух уравнений ====
+
-
{|
+
-
|rowspan= "2"|{
+
-
|f<sub>1</sub>(x<sub>1</sub>, x<sub>2</sub>) = 0
+
-
|rowspan="2"| (3)
+
-
|-
+
-
|f<sub>2</sub>(x<sub>1</sub>, x<sub>2</sub>) = 0
+
-
|}
+
-
 
+
-
(x<sub>1</sub><sup>*</sup>, x<sub>2</sub><sup>*</sup>) — решение
+
-
* 0 = f<sub>1</sub>(x<sub>1</sub><sup>*</sup>, x<sub>2</sub><sup>*</sup>) = f(x<sub>1</sub>, x<sub>2</sub>) + (x<sub>1</sub><sup>*</sup> &minus; x<sub>1</sub>) (&delta;f<sub>1</sub>/&delta;x<sub>1</sub>)(x<sub>1</sub>, x<sub>2</sub>) + (x<sub>2</sub><sup>*</sup> &minus; x<sub>2</sub>) (&delta;f<sub>2</sub>/&delta;x<sub>2</sub>)(x<sub>1</sub>, x<sub>2</sub>)
+
-
* x<sub>i</sub> &rarr; x<sub>i</sub><sup>n</sup>
+
-
* x<sub>i</sub><sup>*</sup> &rarr; x<sub>i</sub><sup>n + 1</sup>
+
-
 
+
-
{|
+
-
|rowspan= "2"|{
+
-
|f<sub>1</sub>(x<sub>1</sub><sup>n</sup>, x<sub>2</sub><sup>n</sup>) + (x<sub>1</sub><sup>n + 1</sup> &minus; x<sub>1</sub><sup>n</sup>) (&delta;f<sub>1</sub>/&delta;x<sub>1</sub>)(x<sub>1</sub><sup>n</sup>, x<sub>2</sub><sup>n</sup>) + (x<sub>2</sub><sup>n + 1</sup> &minus; x<sub>2</sub><sup>n</sup>) (&delta;f<sub>1</sub>/&delta;x<sub>2</sub>)(x<sub>1</sub><sup>n</sup>, x<sub>2</sub><sup>n</sup>) = 0
+
-
|rowspan= "2"| (4)
+
-
|-
+
-
|f<sub>2</sub>(x<sub>1</sub><sup>n</sup>, x<sub>2</sub><sup>n</sup>) + (x<sub>1</sub><sup>n + 1</sup> &minus; x<sub>1</sub><sup>n</sup>) (&delta;f<sub>2</sub>/&delta;x<sub>1</sub>)(x<sub>1</sub><sup>n</sup>, x<sub>2</sub><sup>n</sup>) + (x<sub>2</sub><sup>n + 1</sup> &minus; x<sub>2</sub><sup>n</sup>) (&delta;f<sub>2</sub>/&delta;x<sub>2</sub>)(x<sub>1</sub><sup>n</sup>, x<sub>2</sub><sup>n</sup>) = 0
+
-
|}
+
-
 
+
-
{|
+
-
|rowspan= "2"|J(x) = (
+
-
|(&delta;f<sub>1</sub>/&delta;x<sub>1</sub>)(x<sub>1</sub><sup>n</sup>, x<sub>2</sub><sup>n</sup>)
+
-
|(&delta;f<sub>1</sub>/&delta;x<sub>2</sub>)(x<sub>1</sub><sup>n</sup>, x<sub>2</sub><sup>n</sup>)
+
-
|rowspan= "2"|)
+
-
|-
+
-
|(&delta;f<sub>2</sub>/&delta;x<sub>1</sub>)(x<sub>1</sub><sup>n</sup>, x<sub>2</sub><sup>n</sup>)
+
-
|(&delta;f<sub>2</sub>/&delta;x<sub>2</sub>)(x<sub>1</sub><sup>n</sup>, x<sub>2</sub><sup>n</sup>)
+
-
|}
+
-
 
+
-
* f = (f<sub>1</sub>, f<sub>2</sub>)<sup>T</sup>
+
-
* x<sup>n</sup> = (x<sub>1</sub><sup>n</sup>, x<sub>2</sub><sup>n</sup>)
+
-
* f(x<sup>n</sup>) + J(x<sup>n</sup>)(x<sup>n + 1</sup> &minus; x<sup>n</sup>) = 0
+
-
* &exist; J<sup>&minus;1</sup>(x<sup>n</sup>)
+
-
* x<sup>n + 1</sup> = x<sup>n</sup> &minus; J<sup>&minus;1</sup>(x<sup>n</sup>)f(x<sup>n</sup>), n = 0, 1, &hellip;, x<sup>0</sup> &isin; U<sub>a</sub>(x<sup>*</sup>) (5)
+
-
 
+
-
==== Общий случай для m уравнений ====
+
-
 
+
-
{|
+
-
|rowspan= "4"|{
+
-
|f<sub>1</sub>(x<sub>1</sub>, x<sub>2</sub>, &hellip;, x<sub>m</sub>) = 0
+
-
|rowspan="4"| (6)
+
-
|-
+
-
|f<sub>2</sub>(x<sub>1</sub>, x<sub>2</sub>, &hellip;, x<sub>m</sub>) = 0
+
-
|-
+
-
|&hellip;
+
-
|-
+
-
|f<sub>m</sub>(x<sub>1</sub>, x<sub>2</sub>, &hellip;, x<sub>m</sub>) = 0
+
-
|-
+
-
|}
+
-
 
+
-
* (J(x))<sub>ij</sub> = (&delta;f<sub>i</sub>/&delta;x<sub>j</sub>), i, j = 1&hellip;m
+
-
* x<sup>n + 1</sup> = x<sup>n</sup> &minus; J<sup>&minus;1</sup>(x<sup>n</sup>)f(x<sup>n</sup>), n = 0, 1, &hellip;, x<sup>0</sup> &isin; U<sub>a</sub>(x<sup>*</sup>) (6)
+
-
* x<sup>n + 1</sup> = x<sup>n</sup> &minus; J(x<sup>0</sup>)f(x<sup>n</sup>)
+
-
 
+
-
=== Метод секущей (хорд) ===
+
-
 
+
-
* x<sup>n + 1</sup> = x<sup>n</sup> &minus; f(x<sup>n</sup>)/f'(x<sup>0</sup>), n = 0, 1, &hellip;
+
-
* f'(x<sup>n</sup>) = (f(x<sup>n + 1</sup>) &minus; f(x<sup>n</sup>))/(x<sup>n + 1</sup> &minus; x<sup>n</sup>)
+
-
Подставим в метод Ньютона приближение производной:
+
-
* x<sup>n + 1</sup> = x<sup>n</sup> &minus; (x<sup>n</sup> &minus; x<sup>n &minus; 1</sup>)f(x<sup>n</sup>)/(f(x<sup>n</sup>) &minus; f(x<sup>n &minus; 1</sup>))
+
-
 
+
-
{{Численные Методы}}
+
-
{{Lection-stub}}
+

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. eSyr's_wiki:Авторское право).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Разделы