Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Основная идея метода Ньютона состоит в выделении из уравнений системы линейных частей, которые являются главными при малых приращениях аргументов. Это позволяет свести исходную задачу к решению последовательности систем линейных уравнений.
Рассмотрим систему двух нелинейных уравнений с двумя неизвестными вида:
(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; Прочитано: 1311 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!