![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Основная идея метода Ньютона состоит в выделении из уравнений системы линейных частей, которые являются главными при малых приращениях аргументов. Это позволяет свести исходную задачу к решению последовательности систем линейных уравнений.
Рассмотрим систему двух нелинейных уравнений с двумя неизвестными вида:
(3.10)
Пусть известно некоторое приближение ,
корня
,
. Тогда поправки
,
можно найти, решая систему:
(3.11)
Для этого разложим функции ,
в ряд Тейлора по
,
. Сохранив только линейные по
,
части, получим систему линейных уравнений
(3.12)
относительно неизвестных поправок , и
. Решая эту систему линейных уравнений, определяем значения
,
.
Таким образом, решение системы уравнений по методу Ньютона состоит в построении итерационной последовательности:
(3.13)
где ,
- решения систем линейных уравнений, вида (3.12) на каждом шаге итерации.
В методе Ньютона для обеспечения хорошей сходимости также важен правильный выбор начального приближения.
Пример 3.2. Найти решение системы (3.8) методом Ньютона с точностью .
Решение. Начальные приближения ,
. Определим частные производные:
;
и, используя (3.12), построим систему линейных уравнений относительно поправок
Подставляя начальные приближения ,
и решая систему линейных уравнений
,
определяем поправки на первом шаге итерации
,
Далее начальное приближение уточняем по формулам (3.13)
Подставляя результаты первой итерации ,
и решая систему линейных уравнений
,
определяем поправки на втором шаге итерации
,
Далее и
уточняем по формулам (3.13)
Определяем погрешностьпо формуле :
Таким образом, имеем решение: ,
.
Программа, реализующая метод Ньютона для указанной задачи, представлена на рис. 3.2. Исходные данные – начальные приближения ,
, точность
и максимальное число итераций
(табл. 3.2).
Таблица 3.2.
Исходные данные к программе решения системы
нелинейных уравнений
методом Ньютона
A | B | |
x0 | -1 | |
y0 | -0,7 | |
e | 0,001 | |
n | ||
x | -1,11149 | |
y | -0,72253 | |
Sub program6() x = Cells(1, 2) y = Cells(2, 2) e = Cells(3, 2) n = Cells(4, 2) For k = 1 To n F = 2 * Sin(x + 1) – y - 0.5 G = 10 * Cos(y - 1) – x + 0.4 Fx = 2 * Cos(x + 1) Fy = -1 Gx = -1 Gy = -10 * Sin(y - 1) D = Fx * Gy – Gx * Fy Dx = (G * Fy – F * Gy) / D Dy = (F * Gx – G * Fx) / D xk = x + Dx yk = y + Dy If Abs(xk - x) < e And Abs(yk - y) < e Then Cells(5, 2) = xk Cells(6, 2) = yk End End If x = xk y = yk Next k MsgBox "решение не найдено" End End Sub | |
Рис. 3.2. Программа, реализующая метод Ньютона на языке VBA. |
Пример 3.3. Найти решение системы (3.8) с помощью программы Excel.
Дата публикования: 2015-03-29; Прочитано: 1370 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!