Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5544.pdf
Скачиваний:
2
Добавлен:
13.11.2022
Размер:
1.79 Mб
Скачать

3) Найти несколько элементов последовательности xn по одной из формул п. 1.

4) Если сходимость «просматривается», увеличить m и продолжить п. 3.

5)Если сходимости нет, найти несколько элементов по другой формуле п. 1.

6)Если сходимости снова нет, поменять x0 и повторять пункты 3-5, пока ре-

шение не начнёт получаться.

Замечание о скорости сходимости. При замене уравнения f x 0 на равно-

сильное x g x не так очевидно, достигнута ли нужная точность, поскольку при малом m приближения xn 1 и xn мало отличаются, а значение функции f(x)

по значению функции g(x) неясно. Доказано, что для возрастающих функций f(x) всегда

c xn

 

 

 

q

 

xn 1

xn

 

,

 

 

 

 

 

 

 

 

 

 

 

q

 

 

1

 

 

 

 

 

а для убывающих f(x) всегда c xn xn 1 xn , что позволяет по разности между двумя приближениями оценить настоящий корень уравнения.

 

 

Таким образом, если уравнение f x 0

 

надо решить с точностью , то есть

прийти к выполнению условия

 

c xn

 

, в случае возрастающей f

надо прово-

 

 

дить

пересчёт, пока не получится

 

q

 

x

n 1

x

n

 

, или, что то

же самое,

 

 

 

 

 

 

 

 

1 q

 

x

n 1

x

n

 

 

1 q

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Когда это произойдёт, можно утверждать, что с точностью корень c xn .

 

 

Если оценить параметр q затруднительно, то, заметив, что xn 1 xn , следу-

ет найти

f xn 1 , и если окажется, что

f xn 1 , вычисления можно прекратить.

 

 

Из формул для оценки решения следует, что при q 1 знаменатель 1–q бли-

зок к 0, дробь велика, и оценить

 

c xn

 

нельзя. Наоборот, при q 0 дробь мала, и

 

 

тогда

 

c xn

 

0 , то есть xn c .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вычисление корней при помощи метода простых итераций

39

xk 1 x 1 xk 1 xk 2

Известная формула x2 x 1 позволяет с какой угодно точностью извлекать корни любой целой степени из любого положительного числа.

Пусть надо найти

 

 

A

 

или, что тоже самое,

решить уравнение x2 A при

x 0 . Заметим,

что тогда

x2 1 A 1 , то есть x 1 x 1 A 1. Отсюда можно

получить x 1

 

A 1

и одновременно x 1

A 1

 

. Производные правых частей

 

x 1

 

x 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A 1

 

A 1

 

1

A 1

 

 

A 1

 

соответственно

1

 

 

 

 

 

 

и

 

 

 

 

 

.

 

 

 

 

x 1 2

 

 

 

x 1 2

 

 

 

x

1

 

 

 

x 1

 

 

 

Поскольку при x 0

 

всегда x 1 2

x 1 2 , в 1-м случае производная меньше

(по модулю) и результат получается быстрее.

 

 

 

 

 

 

 

 

 

 

 

Выбираем

любое x0 0 , чтобы

 

выполнялось

x0 1 2

A 1. Находим

1-е

приближение

x 1

A 1

 

и затем все следующие как x

 

 

1

 

A 1

.

 

 

 

 

1

x0

1

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

xn 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Последовательность xn

A .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример 1. Найдём

6 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение.

Итерационная формула имеет вид xn 1

1

 

 

5

 

. Подберём x0

,

 

 

 

 

xn

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

чтобы x0 1 2

5 . Например, подходит x0

2 . Находим

 

 

 

 

 

 

 

 

 

 

x1 1

 

5

 

2,666 7

; x2 1

 

 

5

 

2,363 5 ;

x3 1

 

 

5

 

2,486 5

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2,363 5 1

2

1

 

 

 

 

 

 

 

 

2,666 7 1

 

 

 

 

 

 

 

и далее таким же образом последовательность

2,434 1, 2,456 0, 2,446 8, 2,450 6, 2,449 0, 2,449 7, 2,449 4, 2,449 5.

Вычисления ведём с 4-мя знаками и прекращаем, когда числа повторяются.

Ответ: 6 2,449 5 .

Подобным образом можно найти 3 A .

Заменив уравнение x3 A на равносильное ему x 1 x2 x 1 A 1 , полу-

чаем последовательность xn 1 1

 

A 1

 

 

 

 

 

.

 

x2

x

 

1

 

n

 

 

n

 

 

 

Модуль производной правой части

A 1 2x 1

заведомо меньше 1 при до-

x2 x 1 2

статочно больших значениях x.

40

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример 2. Найдём 3 10 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение.

Преобразовав

уравнение

x3

 

10 к

виду

x 1 x2 x 1 10 1 ,

получаем итерационную формулу xn 1 1

 

9

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2 x

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

n

 

 

 

 

 

 

 

 

 

При x0 4 модуль производной

9 2 4 1

 

 

 

 

81

 

1 . Приближение допустимо, и

42 4 1 2

 

 

441

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 1

 

9

 

1,429 ; x2 1

 

9

 

 

 

 

 

3,013

; x

 

1

 

9

 

1,687.

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

42

4 1

1,4292 1,429 1

 

 

 

 

 

3,013 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3,013

 

Продолжая, получаем последовательность 2,626, 1,855, 2,429, 1,906, 2,377, и с некоторого момента чередуются числа 2,154 и 2,155.

Ответ: 3 10 2,155 .

Пример 3. Посмотрим, что произойдёт, если при поиске 3 64 взять x0 4

точный корень.

 

Решение. Итерационная формула имеет вид xn 1

1

 

63

 

.

 

 

 

 

 

x2 x

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

n

 

 

 

Если

x

 

4 , то x

1

 

63

 

1

63

4 , результат не изменяется.

 

0

 

 

 

 

 

 

 

 

 

1

42

4 1

21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Замечание. Уравнение

x2

A

при

любом

b

равносильно уравнению

x b x b A b2 ,

и можно

составлять

итерационные

последовательности

x

 

b

A b2

. Это ускоряет сходимость при малых

A b2

0 . Подобное спра-

n 1

xn

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ведливо и для уравнений xk A .

2.6. Решение систем нелинейных уравнений методом Ньютона

Пусть дана система n нелинейных функциональных уравнений относительно n переменных x1 , x2 , , xn :

f1 x1 , x2 , , xn 0,f2 x1 , x2 , , xn 0,

fn x1 , x2 , , xn 0,

41

где fi x1 , x2 , , xn 0 при i 1,2, , n – некоторые известные функции. Набор переменных x1 , x2 , , xn служит решением системы, если отвечает каждому её уравнению. Точно решить такие системы можно лишь в простейших случаях. Единственно возможный общий метод – метод подстановки, когда переменные выражаются через остальные и система сводится к одному уравнению исключением переменных, здесь не подходит, поскольку в лучшем случае получится очень громоздкое уравнение, а в большинстве случаев такое исключение само невозможно.

Метод Ньютона – один из основных приближённых методов решения таких систем. Он основан на следующих идеях:

1) для дифференцируемой функции одной переменной справедливо приближённое равенство f (x) f x0 f x0 x x0 , где x0 – произвольная точка, а x x0

;

2) поскольку наша цель – подобрать x так, чтобы f x 0 , а значения f x0 и f x0 известны, получается линейное уравнение относительно x x0 или, что равносильно, относительно x ;

3) аналогичное равенство справедливо и для функции многих переменных,

если точки

x

0

и x

заменить векторами X 0 x0

, x0

, , x0

и

X x , x

2

, , x

n

,

 

 

 

1

2

n

 

1

 

 

производную заменить вектором частных производных, а произведение

f X 0 и

X X 0 считать скалярным;

4) в случае многих переменных получается линейное уравнение относительно X X 0 , содержащее n неизвестных x1 , x2 , , xn ;

5)для однозначного поиска n неизвестных в общем случае достаточны n независимых уравнений, и каждое такое уравнение получается дифференцированием очередной функции f2 , f3 , , fn ;

6)таким образом, получается система n линейных уравнений относительно n неизвестных x1 , x2 , , xn , решить которую можно известными способами либо

точно, либо приближённо.

Запишем систему в общем виде. Пусть X 0 x10 , x20 , , xn0 – некоторое началь-

ное приближение, X x1 , x2 , , xn – некоторая точка, близкая к X 0 . Тогда можно считать, что

42

f

 

x ; x

 

; x

 

 

f

 

 

 

f1

 

x x0

f1

 

1

 

n

1

 

 

 

1

2

 

 

 

 

x1

1

1

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

 

 

x1

x10

f

 

 

 

 

x1; x2 ; xn

f2

 

2

2

 

f

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

fn

x x0 fn

f

n

x ; x

2

; x

n

f

n

 

1

 

 

 

 

 

 

x1

1

1

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

x0

f1

 

x

 

 

x0 ,

2

 

 

 

n

 

2

 

xn

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

x

 

x0

 

 

f2

 

x

 

x0

,

2

 

 

n

 

 

2

 

 

 

xn

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

x0

 

fn

 

x

 

x0

.

2

 

 

n

 

 

2

 

 

 

xn

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь все значения функций и частных производных в правой части найдены

в точке X 0 .

 

 

 

 

 

 

 

 

 

 

Предположим,

что точка X x1 , x2 , , xn одновременно оказалась решением

исходной системы,

тогда

fi x1, x2 , , xn 0 для

i 1,2, , n . В новой системе

также

получим 0

слева

в

каждом уравнении.

Обозначим для краткости

1 x1

x10 , 2 x2

x20 , , n

xn xn0 , перенесём

f

, f

2

, , f

n

и переставим части

 

 

 

 

 

 

1

 

 

 

уравнений слева направо, получим систему относительно 1 , 2 , , n в виде

f1 1 f1x1 x2f 2 f 2

x1 1 x2

f n 1 f nx1 x2

2 f1 n f1,

xn

2 f 2 n f 2 ,

xn

2 f n n f n ,

xn

где по-прежнему все функции и частные производные подсчитаны в точке X 0 .

Найдя все i , можно найти и все xi xi0 i xi xi0 i .

Если бы все функции fi были линейны по каждому аргументу, система совпала бы с исходной, и точка X действительно оказалась бы решением обеих систем. Но тогда была бы неактуальна сама задача. Для нелинейных же систем точка X , полученная как решение последней системы, в большинстве случаев окажется ближе к решению исходной системы, чем точка X 0 . Тогда, обозначив X как X 0 , можно заново проделать все действия, ещё более приблизиться к решению, и продолжать так, пока приближения не станут совпадать с необходимой точностью.

Существенно, что общие формулы частных производных не меняются от шага к шагу, и задачу можно легко запрограммировать. Покажем один шаг решения методом Ньютона.

43

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]