Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / ЧМ.Лабы.Лисовец / ЧМ.labs.by mice / lab02 / docs / решение уравнений - метод Ньютона / from www.exponenta.ru (16.03.2005) / Численное решение уравнений и систем уравнений_ Решение нелинейных уравнений

.htm
Скачиваний:
32
Добавлен:
17.04.2013
Размер:
33.86 Кб
Скачать

Численное решение уравнений и систем уравнений. Решение нелинейных уравнений                                                                                                                                                                                                                                                                                                                                                                                   Matlab  |  Mathcad  |  Maple  |  Mathematica  |  Statistica  |  Другие пакеты Internet-класс  |  Примеры  |  Методики  |  Банк задач  |  Форум  |  Download  |  Ссылки  |  Конкурсы   Численное решение уравнений и систем уравнений

А.А. Ханова Вернуться на страницу <Методические разработки>

В начало

 

 Решение нелинейных уравнений Метод Ньютона ~ Метод простой итерации

 

Метод Ньютона

 

Отличие этого итерационного метода от предыдущего состоит в том, что вместо хорды на каждом шаге проводится касательная к кривой y = f(x) при x = хi и ищется точка пересечения касательной с осью абсцисс (Рисунок 4). При этом не обязательно задавать отрезок [а, b], содержащий корень уравнения (1), достаточно найти лишь некоторое начальное приближение корня x = х0.

Применяя метод Ньютона, следует руководствоваться следующим правилом: в качестве исходной точки х0 выбирается тот конец интервала [а, b], которому отвечает ордината того же знака, что и знак f'' (х).

Рисунок 4.

 

Уравнение касательной, проведенной к кривой y = f(x) через точку В0 с координатами х0 и f(х0), имеет вид:

Отсюда найдем следующее приближение корня х1 как абсциссу точки пересечения касательной с осью Ох (y = 0):

 

Аналогично могут быть найдены и следующие приближения как точки пресечения с осью абсцисс касательных, проведенных в точках В1, В2 и так далее. Формула для i +1 приближения имеет вид:

(7)

Для окончания итерационного процесса может быть использовано или условие | f(xi)| < e , или условие близости 2х последовательных приближений | xi - xi - 1 | < e .

Итерационный процесс сходится если

f(х0) * f'' (х0) > 0.

Реализация метода Ньютона средствами MathCAD приведена на Рисунке 5.

 

Рисунок 5.

 

Для организации итерационных вычислений используется функция until.

until(a, z)

Возвращает z, пока выражение a не становится отрицательным; а должно содержать дискретный аргумент.

 

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

 

Для использования метода итерации исходное нелинейное уравнение f(х) = 0 заменяется равносильным уравнением

x = j(x).

(8)

Пусть известно начальное приближение корня х = х0. Подставляя это значение в правую часть уравнения (8), получим новое приближение:

х1 = j(х0).

Далее, подставляя каждый раз новое значение корня в (8), получаем последовательность значений:

(9)

Геометрически метод итерации может быть пояснен следующим образом. Построим на плоскости хОу графики функций у = х и у = j (х). Каждый действительный корень уравнения (8) является абсциссой точки пересечения М кривой у = j (х) с прямой у = х (Рисунок 6, а).

 

Рисунок 6.

 

Отправляясь от некоторой точки А0 [x0, j (x0)], строим ломаную А0В1А1В2А2... (“лестница”), звенья которой попеременно параллельны оси Ох и оси Оу, вершины А0, А1, А2, ...лежат на кривой у=j (х), а вершины В1, В2, В3, …, - на прямой у = х. Общие абсциссы точек А1 и В1, А2 и В2, ..., очевидно, представляют собой соответственно последовательные приближения х1, х2, ... корня .

Возможен также другой вид ломаной А0В1А1В2А2 ... - “спираль” (Рисунок 6, б). Решение в виде “лестницы” получается, если производная j' (х) положительна, а решение в виде “спирали”, если j' (х) отрицательна.

На Рисунке 6, а, б кривая у = j (х) в окрестности корня - пологая, то есть <1, и процесс итерации сходится. Однако, если рассмотреть случай, где >1, то процесс итерации может быть расходящимся (Рисунок 7).

 

Рисунок 7.

 

Поэтому для практического применения метода итерации нужно выяснить достаточные условия сходимости итерационного процесса.

Теорема: Пусть функция j (х) определена и дифференцируема на отрезке [a, b], причем все ее значения j (х) [a, b].

Тогда, если существует правильная дробь q такая, что

q < 1

при a < x < b, то: 1) процесс итерации

сходится независимо от начального значения х0 I [a, b];

2) предельное значение является единственным корнем уравнения х = j (х) на отрезке [a, b].

Пример 5. Уравнение

f(x) = x3 - x - 1 = 0

(10)

имеет корень x [1, 2], так как f(1) = - 1 < 0 и f(2) = 5 > 0.

Уравнение (10) можно записать в виде

х = х3 - 1.

(11)

Здесь

j (х) = х3 - 1 и j' (х) = 3х2;

поэтому

j' (х) 3 при 1 х 2

и, следовательно, условия сходимости процесса итерации не выполнены.

Если записать уравнение (10) в виде

(12)

то будем иметь:

.

Отсюда при 1 х 2 и значит, процесс итерации для уравнения (12) быстро сойдется.

Найдем корень x уравнения (10) с точностью до 10-2. Вычисляем последовательные приближения хn с одним запасным знаком по формуле

Найденные значения помещены в Таблицу 1:

Таблица 1

Значения последовательных приближений xi.

i

0

1

2

3

4

xi

1

1,260

1,312

1,322

1,3243

С точностью до 10-2 можно положить x = 1,324.

 

 

В начало

Вернуться на страницу <Методические разработки>

 

Карта сайта | На первую страницу | Поиск |О проекте |Сотрудничество |e-mail Exponenta Pro | Matlab Наши баннеры

Copyright © 2000-2005. Компания SoftLine. Все права защищены.

Дата последнего обновления информации на сайте: 16.03.05

Сайт начал работу 01.09.00

 

hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=57742&im=32&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("")