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

Информатика.-5

.pdf
Скачиваний:
7
Добавлен:
05.02.2023
Размер:
528.67 Кб
Скачать

21

x

= x

 

f (xi1 )

.

 

 

i

i1

 

f (xi1 )

 

 

 

 

Исходные данные для решения уравнения:

функция

 

 

 

f (x) и ее производная f (x) ;

начальное приближение x0 ;

погрешность вычислений ε ;

максимальное число итераций N .

Последовательность шагов решения уравнения:

Шаг 1. Вычислить точку пересечения касательной с осью абсцисс.

Шаг 2. Вычислить значение функции f (xi ) .

Шаг 3. Выполнить сравнение f (xi ) < ε . Если оно истинно, то xi является решением уравнения f (x) = 0 . Если условие ложно, то перейти к шагу 1.

Метод Ньютона обладает лучшей сходимостью по сравнению с методами половинного деления или хорд. В этом его преимущество. К недостаткам можно отнести следующие моменты:

Для вычисления очередного приближения необходимо вычислять значения двух

функций f (x) и f (x) , а не одной, как в методах половинного деления и хорд.

Метод не всегда способен найти корень уравнения, так как итерационный процесс

может быть расходящимся. Например, решение уравнения x ex = 0 при x0 = 2 .

Существует опасность получения ошибки «деление на ноль» в итерационном процессе. Например, если в рассматриваемом примере значение начального

приближения выбрать x0 = 20 , то значение производной f (x0 ) = 3 202 60 20 = 0 .

При нахождении значения x1 программа может аварийно завершить работу.

Существует опасность зацикливания итерационного процесса. Например, если при

решении

уравнения

f (x) = x3 12 x +12

6 = 0

значение

 

начального приближения

выбрать x0 = 6 , то значение x1

получится равным нулю.

 

 

x = x

 

f (x )

=

6

( 6)3 12 6 +12 6

=

6

6 6

 

= 6 6 = 0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

 

f (x0 )

 

 

 

3 ( 6)2 12

 

 

 

 

18 12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При вычисления значения x2

получим x2

= 6 .

 

 

 

x

 

= x

 

f (x )

= 0

03

12 0 +12 6

= 0

12 6

= 0 + 6

= 6

 

 

1

 

 

 

 

 

 

f (x1 )

 

3 02

12

12

 

2

 

1

 

 

 

 

 

 

 

 

 

 

В данном случае итерационный процесс зациклился.

22

2.4 Модифицированный метод Ньютона

Модифицированный метод Ньютона отличается от основного тем, что касательные проводятся под одним и тем же углом. Угол наклона касательной определяют в точке начального приближения x0 . Процесс решения уравнения модифицированным методом Ньютона показан на рис. 2.6.

3000

 

 

 

 

 

 

f(x0)

 

 

 

 

 

 

2000

 

 

 

 

 

 

1000

 

 

 

 

 

 

f(x2)

 

 

 

 

 

 

0

x0

x2

 

x3

x1

 

 

 

 

 

 

 

 

0

5

10

15

20

-1000

 

 

 

 

 

 

f(x1)

 

 

 

 

 

 

-2000

 

 

 

 

 

 

Рис. 2.6. Процесс решения уравнения

f (x) = 0

модифицированным

методом

Ньютона

 

 

 

 

 

 

Каждая последующая точка xi находится исходя из предыдущей точки xi1 по формуле xi = xi1 ff((xxi01)) .

Значение производной функции в начальной точке можно присвоить переменной, чтобы постоянно не вычислять в цикле.

Исходные данные для решения уравнения:

функция f (x) и ее производная f (x) ;

начальное приближение x0 ;

погрешность вычислений ε ;

максимальное число итераций N .

23

Последовательность шагов решения уравнения:

Шаг 1.

Вычислить точку x

= x

f (xi1 )

.

 

 

 

 

i

i1

 

f (x0 )

 

 

 

 

 

 

Шаг 2.

Вычислить значение функции f (xi ) .

Шаг 3.

Выполнить сравнение

 

 

f (xi )

 

< ε . Если оно истинно, то xi является решением

 

 

уравнения f (x) = 0 . Если условие ложно, то перейти к шагу 1.

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

2.5 Метод секущих

Метод секущих похож на метод хорд. Через две начальные точки {x0 ; f (x0 )} и {x1; f (x1)} проводят прямую и определяют ее пересечение с осью абсцисс x2 . Если значение функции f (x) в этой точке близко к нулю, то x2 – решение уравнения. В

противном случае проводят новую прямую (секущую) через точки {x1; f (x1)} и {x2 ; f (x2 )} . Процесс решения уравнения методом секущих показан на рис. 2.7.

3000

 

 

 

 

 

f(x0)

 

 

 

 

 

2000

 

 

 

 

 

1000

 

 

 

 

 

0

 

x0

x3

x2

x1

 

 

 

 

 

f(x2)

0

5

10

15

20

-1000

 

 

 

 

 

f(x1)

 

 

 

 

 

-2000

 

 

 

 

 

Рис. 2.7. Процесс решения уравнения

f (x) = 0 методом секущих

 

24

Используя формулу, полученную в параграфе 2.2, получим, что каждая последующая

точка xi+1 находится исходя из двух предыдущих точек xi и xi1 по формуле

x

= x

xi xi1

f (x ) .

 

i+1

i

 

f (xi ) f (xi1 )

i

 

 

 

 

Исходные данные для решения уравнения:

функция f (x) ;

начальные приближения x0 и x1 ;

погрешность вычислений ε ;

максимальное число итераций N . Последовательность шагов решения уравнения:

Шаг 1.

Вычислить точку x

= x

 

xi xi1

 

f (x ) .

 

 

 

 

 

 

i+1

 

i

 

f (xi ) f (xi1 )

i

 

 

 

 

 

 

Шаг 2.

Вычислить значение функции

f (xi+1 ) .

 

 

Шаг 3. Выполнить сравнение

 

f (xi+1 )

 

< ε .

Если оно истинно, то является решением

 

 

уравнения f (x) = 0 . Если условие ложно, то перейти к шагу 1.

При численном решении уравнения методом секущих существует опасность получения расходящейся итерационной последовательности, зацикливания программы, аварийного завершения с ошибкой «деление на ноль».

2.6 Метод итераций

При нахождении корней уравнения f (x) = 0 методом итераций решают другое

уравнение x = g(x) . Функция g(x) связана соотношением g(x) = f (x) + x с функцией f (x) . Уравнение x = g(x) удобно для организации итераций. Решение этого уравнения

одновременно будет решением уравнения f (x) = 0 . Рассмотрим геометрическую

интерпретацию решения уравнения x = g(x) методом итераций, показанную на рис. 2.8., 2.9.

Построим на плоскости графики функций y = x и y = g(x) . Вычислим в точке начального приближения x0 значение функции g(x0 ) . Присвоим это значение x1 = g(x0 ) .

Если | x1 x0 | меньше выбранной погрешности вычислений, то x1 является искомым корнем. В противном случае вычисления повторяются. Последовательность значений x2 , x3 , x4 ,... определяют по следующим соотношениям: x2 = g(x1 ) , x3 = g(x2 ) , x4 = g(x3 ) , …

25

y

y=g(x)

 

y=x

x2

x1

x0

x

Рис. 2.8. Процесс решения уравнения x = g(x) методом итераций (монотонная сходимость)

y

y=x

y=g(x)

x0

x2

x1

x

Рис. 2.9. Процесс решения уравнения x = g(x) методом итераций (колеблющаяся сходимость)

Каждая последующая точка xi находится исходя из предыдущей точки xi1 по формуле xi = g(xi1 ) .

Исходные данные для решения уравнения:

функция g(x) или f (x) ;

26

начальное приближение x0 ;

погрешность вычислений ε ;

максимальное число итераций N . Последовательность шагов решения уравнения:

Шаг 1. Вычислить точку xi = g(xi1 ) .

Шаг 2. Вычислить значение | xi xi1 | .

Шаг 3. Выполнить сравнение | xi xi1 |< ε . Если оно истинно, то xi является решением уравнения x = g(x) или f (x) = 0 . Если условие ложно, то перейти к шагу 1.

Итерационный процесс решения уравнения x = g(x) может быть как сходящимся,

так и расходящимся. Условием сходимости является выполнение в окрестности корня уравнения неравенства

 

 

 

| g (x) |<1,

 

 

 

g(x) .

 

 

где g (x) – производная от функции

 

 

 

1

При 0 < g (x) <1 имеет место монотонная сходимость (рис. 2.8), при

< g (x) < 0

 

 

 

– колеблющаяся сходимость (рис. 2.9). Если | g (x) |>1 итерационный процесс является

 

 

2.10), при

расходящимся: при g (x) >1 имеет место монотонное расхождение (рис.

g(x) < −1 – расходящиеся колебания (рис. 2.11).

y

y=x

y=g(x)

x0

x1

x2

x

Рис. 2.10. Процесс решения уравнения x = g(x) методом итераций (монотонное расхождение)

27

y

y=g(x) y=x

x2 x0

x1

x4

x

Рис. 2.11. Процесс решения уравнения x = g(x) методом итераций (расходящиеся

колебания)

2.7 Эффективность численных методов решения уравнений

Скорость сходимости является основной характеристикой численных методов решения уравнений.

Предположим, что последовательность {pn} сходится к p и обозначим

En = p pn для n 0. Если существуют такие две положительные константы A 0 и

R > 0 , что

lim

| p pn+1 |

 

= lim

| En+1 |

 

= A ,

 

 

n→∞

| p p

|R

n→∞

| E

|R

 

 

n

 

 

 

n

 

 

 

то говорят, что последовательность сходится к p с порядком сходимости R .

Если R =1, то сходимость называется линейной. Если R = 2 , то сходимость называется квадратичной.

28

3. Решение систем уравнений

Совокупность уравнений, для которых требуется найти значения неизвестных, удовлетворяющие одновременно всем этим уравнениям, называется системой уравнений.

F (x , x ,..., x

M

) = 0

 

1

1

2

 

F2 (x1, x2 ,..., xM ) = 0

 

 

 

 

 

 

 

 

 

 

 

 

F (x , x ,..., x ) = 0

 

N

1

2

M

 

Значения неизвестных, удовлетворяющие одновременно всем уравнениям системы, называют решением системы.

Наиболее проработанными являются методы решения систем линейных уравнений. Существуют аналитические методы решения систем линейных уравнений: метод Крамера, метод Гаусса. Кроме аналитических имеются численные методы: метод итераций Якоби, Гаусса-Зейделя,

3.1 Метод Крамера

Пусть дана система из N линейных уравнений.

 

 

a

 

x + a

x

+... + a

 

x

N

= b

 

 

 

 

 

 

 

 

11

 

1

 

12

2

 

 

1N

 

1

 

 

 

 

 

 

 

a21 x1 + a22 x2 +... + a2 N xN = b2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

N1

x

+ a

N 2

x

+... + a

NN

x

N

 

 

= b

 

 

 

 

 

 

 

 

1

 

2

 

 

 

 

 

 

 

 

N

 

 

 

 

 

Согласно методу Крамера решение находится через определители , 1, 2 ,..., N .

x

=

 

i

, для i =1,2,...N .

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a11

 

a12

a1N

 

 

 

 

 

 

b1

a12

a1N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

a21

a22

a2 N

 

,

1 =

b2

a22

a2 N

 

,

 

 

 

aN1

aN 2

aNN

 

 

 

 

 

 

bN

aN 2

aNN

 

 

 

 

 

 

 

 

a11

b1

a1N

 

 

 

 

 

 

 

 

a11

a12

b1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 =

a21

b2

a2 N

 

,

N =

 

a21

a22

b2

 

.

 

 

 

 

aN1

bN aNN

 

 

 

 

 

 

 

 

aN1

aN 2

bN

 

 

 

 

 

 

 

 

 

 

29

 

Для поиска значений определителей

, 1, 2 ,...,

N используется формула

 

N

 

 

 

 

 

 

 

 

| A |= aij Aij ,

 

 

 

 

 

 

j=1

 

 

 

 

 

 

 

где

A = (1)i+ j

M

ij

- алгебраическое

дополнение

к a , M

ij

- определитель

 

ij

 

 

 

ij

 

подматрицы A размера (N 1) ×(N 1) , полученной путем удаления i-ой строки и j-го

столбца в матрице A .

Для N = 2 определитель матрицы A находится по формуле

| A |= a11 a22 a12 a21 .

Пример. Решить систему уравнений

 

4x y + z = 7

 

4x 8y + z = −21

 

 

2x + y + 5z =15

 

Находим определители

,

1,

2 , 3 .

 

 

 

 

 

 

4

1

1

 

 

8

1

 

4 1

 

4 8

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

4

8 1

 

= 4

(1)

+1

=

 

 

1 5

2 5

2 1

 

 

2

1

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=4 (8 5 1 1) +1 (4 5 (2) 1) +1 (4 1(2) (8)) =

=4 (41) +1 22 +1 (12) = −164 + 22 12 = −154

 

 

7

1

1

 

8 1

 

21 1

 

21

8

 

 

 

 

 

 

 

 

 

 

 

 

1 =

 

21

8 1

= 7

(1)

+1

=

 

 

15

1

5

 

1

5

 

15

5

 

15

1

 

 

 

 

 

 

 

 

 

 

 

 

 

=7 (8 5 1 1) +1 (21 5 15 1) +1 (21 115 (8)) =

=7 (41) +1 (120) +1 99 = −287 120 + 99 = −308

 

4

7

1

 

21 1

 

4 1

 

4

21

 

 

 

 

 

 

2 =

4

21

1

= 4

7

+1

=

 

2

15

5

 

15 5

 

2 5

 

2

15

 

 

 

 

 

 

 

 

 

 

=4 (21 5 15 1) 7 (4 5 (2) 1) +1 (4 15 (2) (21)) =

=4 (120) 7 22 +1 18 = −480 154 +18 = −616

30

 

 

4

1

7

 

 

8

21

 

4

21

 

4

8

 

 

 

 

 

 

 

 

 

 

 

 

 

3 =

 

4

8 21

 

= 4

(1)

+ 7

=

 

 

2

1

15

 

 

1

15

 

2

15

 

2

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=4 (8 15 (21) 1) +1 (4 15 (2) (21)) + 7 (4 1(2) (8)) =

=4 (99) +1 18 + 7 (12) = −396 +18 84 = −462

Тогда решением системы являются значения

 

 

 

x =

1 =

308

= 2 , y =

2 =

616

= 4, z =

3 =

462

= 3 .

 

 

154

 

 

154

 

 

154

 

3.2 Метод Гаусса

При решении системы линейных уравнений

 

 

a

 

x + a

x

+... + a

 

x

N

= b

 

 

11

 

1

12

2

1N

 

1

 

a21 x1 + a22 x2 +... + a2 N xN = b2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

N1

x

+ a

N 2

x

+... + a

NN

x

N

= b

 

 

 

1

2

 

 

 

N

методом Гаусса составляется расширенная матрица [A | B]

a11

a12

a1N

 

b1

 

 

 

a21

a22

a2 N

 

b2

.

 

 

 

 

 

 

 

 

 

 

aN 2

aNN

 

 

 

aN1

 

bN

 

С помощью ряда элементарных операций: перестановки, масштабирования и замещения – добиваются нулевых значений под элементами главной диагонали. Расширенная матрица принимает вид

a11(1)

a12(1)

a1(1)N

 

b1(1)

 

 

 

 

 

0

a22(2)

a2(2)N

 

b2(2)

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

a( N )

 

 

 

 

 

 

b( N )

 

 

 

 

NN

 

N

 

 

Используя алгоритм обратной подстановки, получим решение системы

x

 

=

b( N )

, x

 

=

bN( N11) xN

a((NN)1) N

 

N

N

N 1

 

 

, и т.д.

a( N 1)

 

 

 

a( N )

 

 

 

 

 

 

 

NN

 

 

 

( N 1)( N 1)