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

книги / Методы вычислительной математики

..pdf
Скачиваний:
3
Добавлен:
12.11.2023
Размер:
3.35 Mб
Скачать

Согласно методу Ньютона строится итерационная процедура

x(s+1) = x(s) f (x(s) ) fx(x(s) ).

Поскольку fx(x)= 2 + cos(x), формула метода Ньютона принимает вид

 

 

x(s+1)

= x(s) [2x(s) + sin(x(s) )1] [2 + cos(x(s) )].

Для проверки условий сходимости метода определяются коэффициенты

 

 

 

 

 

M1 = inf

 

fx(x)

 

 

 

= inf

 

 

 

2 + cos(x)

 

= 3,0 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x A

 

 

 

 

 

 

 

x [0,1]

 

 

 

 

 

 

 

 

 

 

 

M 2 = sup

 

 

′′

 

= sup

 

sin(x)

 

= 0,841471.

 

 

 

 

 

 

 

 

 

 

 

 

 

fxx (x)

 

 

 

 

 

 

 

 

 

 

x A

 

 

 

 

x A

 

 

 

 

 

 

 

 

 

 

Для интервала (0,1) расстояние

 

x

(0)

 

 

 

~

 

1 (не превышает длины интерва-

 

 

 

 

 

 

 

x

 

 

M 2

 

 

(0)

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ла), условие

 

 

x

 

x

 

0,140245

<1 выполнено, то есть итерационный про-

2M1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

цесс сходится. Результаты расчетов приведены в табл. 3.3.

 

 

 

 

Таблица 3.3

Построение приближенного решения уравнения 2x + sin(x) 1 = 0

 

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

 

 

 

 

 

 

Номер итерации

Приближения решения

 

 

 

 

 

 

0

x(0) = 0,0

x(0) = 0,5

 

x(0) = 1,0

1

0,3333333

0,3333930

 

0,2750977

 

 

 

 

 

2

0,3354178

0,3354178

 

0,3352394

 

 

 

 

 

3

0,3354180

0,3354180

 

0,3354180

 

 

 

 

 

4

0,3354180

0,3354180

 

0,3354180

 

 

 

 

 

Модификации метода Ньютона

Одна из модификаций метода Ньютона заключается в том, что производная функции f(x) определяется только один раз для начальной точки x0 итерационного процесса (рис. 3.5, а):

x(s+1) = x(s) f (x(s) ) fx(x(0) ).

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

81

нерных задач. Кроме того, практически всегда можно подобрать начальное значение x(0) таким образом, что f (x(0) )0 , то есть не будет аварийной остановки вычислительного алгоритма.

f(x0)

f(x1)

f(x2) f(x3)

x

x4 x3 x2 x1

x0

а

f(x0)

f(x1)

f(x2)

x

x3

x2

x1

x0

 

 

б

 

Рис. 3.5. Схемы модифицирования метода Ньютона: a – с начальным значением касательной; б – метод секущих

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

функции f(x) ее разностным аналогом (рис. 3.5, б):

x(s+1) = x(s) f (x(s) )(x(s) x(s1) )[f (x(s) )f (x(s1) )] .

В этом случае получена двухточечная схема, то есть для начала расчетов необходимо задать две начальные точки: x(0) и x(1) .

Возможно, что на заданном отрезке может оказаться несколько корней. В этом случае итерационный процесс позволит вычислить какой-то один корень уравнения. Для отделения корней в некоторых случаях можно воспользо-

ваться следующим приемом. Пусть найден корень

~

 

. Строится функция

x1

 

 

 

f1 (x)

 

 

 

~

 

 

 

 

 

 

 

Вычисление предела

lim

= f (x) (x x1 ).

~

)]

приводит к неопределен-

f

(x)

= lim[f (x) (x x

 

 

~

1

 

 

 

~

 

 

1

 

 

 

 

 

 

xx1

 

 

 

xx1

 

 

 

 

 

 

 

 

ности типа 0 0. Согласно правилу Лопиталя1 [2]

 

 

 

 

 

 

 

 

(x) = lim[f

 

~

]= f

~

 

lim f

(x)

(x x

)

(x

)

~

1

 

 

~

 

x

 

1

x

 

 

 

x

1

 

xx1

 

 

 

xx1

 

 

 

 

 

 

 

 

 

 

1 Лопиталь Гийом Франсуа Антуан де [1661 – 1704] – французский математик, автор первого печатного учебника по дифференциальному исчислению.

82

при условии ограниченности значения производной функции, то есть в случае

f (x) C[1x0 ,x1 ] . При

 

отсутствии кратных корней

новая функция и «слева»,

и «справа» от точки

~

будет иметь один и тот же знак. После нахождения сле-

x1

~

строится функция

 

дующего корня x2

 

 

 

 

~

~

 

 

 

f2 (x)= f (x) (x x1 )(x x2 ),

и так далее.

 

 

 

 

3.4. Система нелинейных уравнений

Рассматривается система m нелинейных алгебраических уравнений

f1 (x1,x2 ,,xm ) = 0,

 

f2 (x1,x2 ,,xm )= 0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x1,x2 ,,xm )

=

 

 

 

0.

 

fm

 

 

 

Вводятся обозначения:

 

 

 

 

 

 

 

X = x1

x2 xm

 

T Rm ,

 

F(X ) = f1 (x1 , x2 ,, xm ) f2 (x1 , x2 ,, xm ) fm (x1 , x2 ,, xm ) T Rm .

 

Задача о решении системы нелинейных алгебраических уравнений форму-

 

 

 

 

 

 

~

 

лируется следующим образом: определить вектор X ,

 

~

F : R

m

R

m

.

(3.9)

F(X )= 0,

 

 

В общем случае итерационные методы решения системы нелинейных алгебраических уравнений могут быть представлены в канонической форме

B(s+1) (X (s+1) X (s) ) τ(s+1) + F(X (s) )= 0 ,

(3.10)

где X (0) – начальное приближение; число τ(s+1) и обратимая матрица

B(s+1)

итерационные параметры.

 

3.4.1. Метод простых итераций

Из выражения (3.10) можно получить систему линейных алгебраических уравнений относительно искомых неизвестных:

B(s+1) X (s+1) = B(s+1) X (s) − τ(s+1) F(X (s) ).

83

В частном случае стационарного итерационного метода, когда B(s+1) = B = const, τ(s+1) = τ = const, последнее соотношение преобразуется к итерационному выражению

X (s+1) = X (s) − τB1F(X (s) ).

Иначе говоря, исходная итерационная процедура сводится к схеме метода простых итераций:

X (s+1) = Φ(X (s) ), Φ(X (s) )= X (s) − τB1F(X (s) ).

(3.11)

~

R

m

~

~

 

Вектор X

 

, для которого X

= Φ(X ), называется неподвижной точкой

оператора Φ.

Очевидно, что вектор X является решением уравнения X = Φ(X)

тогда и только тогда, когда он является неподвижной точкой.

 

Оператор

Φ является сжимающим на множестве Ω Rm

с коэффициен-

том сжатия С, если

x1, x2 Ω имеет место

 

Φ(x2 ) − Φ(x1 )Cx2 x1 .

Теорема 3.3. Пусть на множестве A = {X Rm X ar} определен сжи-

мающий оператор Φ с коэффициентом сжатия С, причем

Φ(a)a(1 C)r, 0 < C <1.

Φ ~

Тогда в А оператор имеет единственную неподвижную точку X , итера-

 

 

 

~

 

 

 

 

 

 

(0)

A. Имеет ме-

ционный метод (3.11) сходится к X при любом начальном X

 

сто оценка погрешности [24, 40]:

 

 

 

 

 

 

 

 

X

(n)

X

C

n

X

(0)

X

.

 

 

 

 

~

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.4.2. Метод релаксации

Если в выражении (3.11) матрица В = Е, то есть является оператором тождественного преобразования, тогда Φ(X (s) )= X (s) − τF(X (s) ) и метод сходится, если Φ′(X ) <1 X A. В рассматриваемом случае

 

 

 

Φ (X )= E − τF (X ),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f1,x (x1, x2 ,, xm )

f1,x

 

(x1, x2 ,, xm )

f1,x

 

(x1, x2 ,, xm )

 

 

1

 

 

2

 

m

 

 

 

 

(x1, x2 ,, xm )

 

 

(x1, x2 ,, xm )

 

 

 

(x1, x2

f2,x

f2,x

 

f2,x

 

 

,, xm )

 

1

 

2

 

m

 

 

F (X )=

 

 

 

 

 

 

 

 

 

 

.

 

 

 

(x1, x2 ,, xm )

 

 

(x1, x2 ,, xm )

 

 

 

(x1, x2

 

 

 

fm,x

fm,x

fm,x

m

,, xm )

 

 

1

 

 

2

 

 

 

 

84

X X (0)

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

В окрестности решения

~

=

~

~

~

T

функции fi (x1

, x2

,, xm ),

X

x1

x2

xm

 

i =1,m, раскладываются в ряды Тейлора вблизи произвольно выбранного век-

тора X = x1

x2

xm

T :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

~

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

fi (x1

, x2 ,, xm ) = fi (x1, x2 ,, xm ) +

 

 

m

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ fi,x j (x1, x2 ,, xm )(x j x j )+…,

 

i =1, m.

 

 

j=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~ ~

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i =1,m , итерационная процедура метода

С учетом того, что fi (x1,x2

,,xm )= 0,

Ньютона принимает форму

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

(x1(s) , x2(s) ,, xm(s) )(x(js+1) x(js) ) + fi (x1(s) , x2(s) ,, xm(s) ) = 0, i =

 

 

fi,xj

 

.

1,m

j=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В матричной записи последнее соотношение имеет вид

 

 

F (X

 

 

)(X

 

X

 

)+ F(X

 

)= 0 ,

 

(3.12)

 

 

 

(s)

 

 

 

(s+1)

 

 

 

(s)

 

 

 

 

 

 

(s)

 

 

 

 

 

 

 

 

 

где вид матрицы

(s)

) определен выше. Сравнение формулы (3.12) с выра-

F (X

 

 

жением (3.10) позволяет определить итерационные параметры:

 

 

 

 

 

 

 

B

 

 

= F

(X

 

), τ

 

 

 

=1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(s+1)

 

 

 

(s)

 

 

 

 

(s+1)

 

 

 

 

 

 

 

 

Соотношение (3.12) позволяет построить вычислительный итерационный

алгоритм:

 

 

 

X

 

 

 

= X

 

[F (X

 

)]

F(X

 

 

).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(s+1)

 

 

(s)

 

 

 

 

(s)

 

 

1

 

 

(s)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теорема 3.4. Пусть выполнены условия:

1. Оператор F(X) определен и дважды дифференцируем в замкнутом шаре

r , при этом вторая производная F(X) ограничена, F′′( X )M.

2. F(X (0) ) имеет обратный оператор, норма которого также ограничена,

[F(X (0) )]1 D .

3. Для начального приближения X (0) верно неравенство

F(X (0) ) 1 F (X (0) )S .

4. Величины M, D, S удовлетворяют условию

H= MDS ≤ 0,5 .

5.Для числа r верно неравенство

85

(112H )S H r.

Тогда:

в заданном шаре радиуса r уравнение F(X )= 0 имеет решение;

в вычислительном процессе Ньютона (3.12) приближение X (s) может

быть построено при любом s; все

X (s)

принадлежат шару, и последователь-

ность X

(s)

~

 

 

 

 

 

 

 

сходится к решению X уравнения;

 

 

– для приближения X (s) верна оценка:

 

 

 

 

 

X X

(s)

 

t t

(s)

,

 

 

 

~

 

 

~

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где t – наименьший корень уравнения

 

 

 

 

 

Mt2 2 t D + S D = 0,

t(s) – приближение к нему, построенное при начальном приближении t(0) = 0. Доказательство теоремы 3.4 приведено в книге [24]. В качестве модифика-

ции метода Ньютона (3.12) рассматривается вариант

)= 0 ,

F

(X

 

)(X

 

X

 

)+ F(X

 

 

 

(0)

 

(s+1)

 

(s)

 

 

 

(s)

 

 

(0)

) формируется и обращается лишь один раз для на-

в котором матрица F (X

 

 

чального приближения X (0) .

 

 

 

 

 

 

 

 

 

 

3.4.4. Нелинейный вариант метода Якоби

 

 

 

 

 

Для системы нелинейных уравнений вида

 

 

 

 

 

 

 

fi (x1, x2 ,, xm )= 0,

i =

 

,

 

 

1,m

итерационный процесс строится так, что из каждого уравнения системы определяется значение только одной неизвестной xi(s+1) , а значения остальных берутся с предыдущего шага,

fi (x1(s) , x2(s) ,, xi(s1) , xi(s+1) , xi(+s1) ,, xm(s) )= 0,

i =

 

.

1,m

При этом определение искомой величины xi(s+1)

на очередной итерации

производится с помощью какого-либо известного метода решения нелинейного уравнения с одной неизвестной.

3.4.5. Нелинейный вариант метода Зейделя

В отличие от метода Якоби, при определении на s +1 итерации i-й неизвестной xi(s+1) используются уже найденные на этой же итерации значения предыдущих неизвестных xk(s+1) , k =1,i 1:

86

f (x(s+1) , x(s+1) ,, x(s+1) , x(s+1) , x(+s) ,, x(s) )= 0, i =1,m . i 1 2 i 1 i i 1 m

Определение искомой величины xi(s+1) на очередной итерации производится, как и в методе Якоби, с помощью любого известного метода решения нелинейного уравнения с одной неизвестной.

Пример 3.4. Решить систему нелинейных алгебраических уравнений

x2

+ x

2

= 5,

 

1

 

2

 

 

 

x

 

= 0.

x2

2

 

1

 

 

Эта система нелинейных уравнений имеет четыре пары корней: x1 =1,338390, x2 =1,791288;

x1 = −1,338390, x2 =1,791288; x1 =1,670715i, x2 = 2,791288; x1 = −1,670715i, x2 = 2,791288;

где i = 1 – комплексная единица. Для отыскания корней уравнений этой системы используется метод Ньютона:

 

 

 

f

1

(x

, x

2

 

)

= x2

+ x2

5;

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

(x

, x

 

 

)= x2

x

 

;

 

 

 

 

 

 

 

 

 

f

2

2

2

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f1,x = 2x1; f1,x

2

= 2x2 ;

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f2,x = 2x1

; f2,x

 

= −1.

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

Итерационный процесс Ньютона представляется в виде

 

 

(s)

)X

(s+1)

= F

(s)

)X

 

(s)

F(X

(s)

);

 

 

F (X

 

 

 

(X

 

 

 

 

 

 

 

 

или, в компонентной форме,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(s) )2 + (x(s ) )2

 

 

 

2x(s )x(s+1)

+

2x

(s)x(s+1) =

(x

+ 5;

 

 

1

1

 

 

 

2

 

 

2

 

 

 

 

1

 

 

 

 

2

 

 

 

 

 

 

 

 

x(s+1) =

(x(s ) )2 .

 

 

 

 

 

 

 

 

 

 

2x(s )x(s+1)

 

 

 

 

 

 

 

 

 

 

 

1

1

 

 

 

2

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

На каждом итерационном шаге необходимо решать полученную систему

линейных алгебраических уравнений относительно неизвестных x(s+1)

и x(s+1) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

В явной форме итерационная схема имеет вид

 

 

 

 

 

 

 

 

 

x(s+1)

= x(s )

 

2 + [(x(s ) )2 + 5] 2x(s ) (1

+ 2x(s ) ),

 

 

1

 

1

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

1

 

 

2

 

 

 

= [(x(s) )2 + 5]

(1 + 2x(s) ).

 

 

 

 

 

 

x(s+1)

 

 

 

 

 

 

 

2

 

 

2

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

87

Результаты вычисления корней заданного уравнения методом Ньютона приведены в табл. 3.4.

 

 

 

Таблица 3.4

 

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

 

 

 

 

Номер

 

x(s )

x(s )

итерации

1

2

 

 

0

 

1,0

1,0

 

 

 

 

1

 

1,5

2,0

 

 

 

 

2

 

1,35

1,8

 

 

 

 

3

 

1,338446

1,791304

 

 

 

 

4

 

1,338390

1,791288

 

 

 

 

5

 

1,338390

1,791288

 

 

 

 

Контрольные вопросы и задания

3.1.Сформулируйте задачу о нахождении корней нелинейного уравнения.

3.2.Опишите метод половинного деления для вычисления корней нелинейного уравнения. Поясните геометрический смысл метода половинного деления.

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

3.4.Сформулируйте критерии остановки итерационного вычислительного процесса при определении корней нелинейного уравнения. Сходимость (расходимость) итерационного решения.

3.5.Сформулируйте условия сходимости метода простых итераций для одного нелинейного уравнения.

3.6.Опишите метод Ньютона для вычисления корней нелинейного уравне-

ния.

3.7.Поясните геометрический смысл метода Ньютона.

3.8.Сформулируйте условия сходимости метода Ньютона для нелинейного уравнения.

88

3.9.Приведите возможные модификации метода Ньютона для определения корней нелинейного уравнения.

3.10.Применение метода простых итераций для решения системы нелинейных уравнений.

3.11.Сформулируйте условия сходимости метода простых итераций для системы нелинейных уравнений.

3.12.Поясните порядок применения метода Ньютона для решения системы нелинейных уравнений.

3.13.Сформулируйте условия сходимости метода Ньютона для системы нелинейных уравнений.

3.14.Опишите решение системы нелинейных уравнений методом Якоби.

3.15.Опишите решение системы нелинейных уравнений методом Зейделя.

89

4. АППРОКСИМАЦИЯ ФУНКЦИЙ

Под аппроксимацией заданной функции f (x) понимается выбор функции ϕ(x) из некоторого определенного класса (например, среди алгебраических многочленов заданной степени), в том или ином смысле близкой к f (x) и даю-

щей ее приближенное представление.

Для решения ряда прикладных задач возникает необходимость приближенной замены функции f (x) некоторым набором известных функций, вычис-

ление которых проще организовать.

Вчастности, может рассматриваться задача о наилучшем приближении

внормированном пространстве Н, когда заданную функцию f H требуется

заменить линейной комбинацией известных элементов ϕk H , k = 0,m , так, чтобы отклонение

m

f ak ϕk

k=0

было минимальным.

Частный случай аппроксимации функции – задача интерполирования – состоит в том, чтобы функцию f (x), известную лишь в узлах некоторой сетки на

заданном отрезке, то есть определенную в виде таблицы, f (xi )= fi , i = 0,n , приблизить непрерывной на этом отрезке функцией ϕ(x), которая в точках xi совпадает с заданными табличными значениями,

ϕ(xi )= f (xi ), i =

 

.

(4.1)

0,n

Функция ϕ(x) может определяться, например, следующим образом:

 

m

 

ϕ(x) = ak ϕk (x),

(4.2)

k=0

где ϕk (x) – набор линейно независимых функций, например, полиномов:

ϕ(x) = a0 + a1x + a2 x2 +…+ am xm .

Очевидно, что в задачах о наилучшем приближении и интерполировании функция ϕ(x) определяется набором параметров ak , k = 0,m , от которых зави-

сит линейно. В противном случае говорят о нелинейной аппроксимации.

Если число узлов n, в которых задана функция f (x), совпадает с числом m

функций, то есть n = m, формулы (4.1) и (4.2) позволяют получить систему линейных алгебраических уравнений

90

Соседние файлы в папке книги