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

Выч.мат

..pdf
Скачиваний:
48
Добавлен:
11.06.2015
Размер:
884.09 Кб
Скачать

Последняя часть этой цепочки дает критерий прекращения счета по

результатам вычисления двух соседних итераций xn

и xn-1. Если

 

 

 

 

|

xn xn1 |

 

1 q ε ,

 

 

 

 

(5)

 

 

 

 

 

 

 

q

 

 

 

 

 

то счет прекращается и значение корня полагается равным x = xn .

Процедура отыскания корня с помощью метода простой итерации

имеет простой геометрический смысл. Отыскивается точка пересе-

чения прямой y = x

 

 

 

 

 

 

 

 

и кривой y = ϕ(x). Пусть ϕ

(x)>0 и ϕ

(x)< 1 ,

и пусть начальная точка x0 лежит левее корня

x (рис.11). Здесь

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

 

xn

монотонно слева стремится к

x .

Анало-

гично ведет себя в этом случае последовательность, если

x0

распо-

ложена справа от x .

 

 

 

 

 

 

 

 

 

 

y

 

 

 

y=x

 

y

 

 

y=x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y=ϕ(x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y=ϕ(x)

 

 

 

 

 

x

 

 

 

 

 

 

x

x0

x

x

 

x

x

 

x

x2

x x

x

 

 

1

2

3

 

 

0

3

1

 

 

Рис. 11

 

 

 

 

 

 

Рис.12

 

 

Немонотонная сходимость последовательности

{xn

} имеет место

 

ϕ

 

<1 (рис.12). Здесь последовательные при-

при ϕ (x)< 0 и

 

(x)

ближения поочередно расположены по разные стороны от

x . Та-

ким образом,

при

 

сходимость

монотонная, если

 

ϕ (x) <1

 

 

 

 

 

 

 

 

 

 

 

ϕ (x)> 0 , и колебательная, если ϕ (x)< 0 .

 

 

 

 

 

Сходящийся итерационный процесс для уравнения (1) можно постро-

ить следующим образом. Пусть корень расположен на отрезке a x b

и для производной выполняется соотношение

 

 

 

 

 

 

 

 

 

 

 

M > m .

 

 

 

 

 

 

0 < m f (x) M ,

 

 

 

 

Тогда корень определяется следующей итерационной формулой

 

 

 

xn+1 = xn f (xn ) / M .

 

 

 

 

(6)

 

 

 

 

 

51

 

 

 

 

 

 

 

В тех случаях, когда для уравнения (2) не выполняется условие сходимости (4) можно использовать следующий метод решения. Пусть на всем рассматриваемом промежутке [a, b], содержащем корень, справедливо неравенство

ϕ(x) q > 1 .

Пусть существует обратная функция ϕ1 (x) =ψ(x) . Тогда равенство

(2) можно записать в виде x =ψ(x) . В соответствии с правилом дифференцирования обратной функции имеем ψ(x) =1/ ϕ(x) . Отсюда находим |ψ (x) | 1 / q <1 , т.е. сходящийся итерационный процесс для функции ψ(x) .

Пример 1. Итерационная процедура вычисления квадратного корня x = a (x2 = a). Итерационные процессы можно построить раз-

ными способами:

а) xn+1 = xan ,

здесь ϕ(x)= a / x ; имеем ϕ(x)= −a / x2 и вблизи корня x2 = a получаем ϕ′ =1 . В данном случае итерационный процесс не сходится, а имеет место колебание между двух точек;

 

 

 

1

 

 

 

 

a

 

 

1

 

a

 

1

 

 

 

 

 

 

 

a

 

 

b) x

n+1

=

 

 

x

n

+

 

 

; здесь

ϕ(x)=

 

x +

 

 

, ϕ(x)=

 

 

1

 

 

 

 

;

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

2

 

x

 

2

 

 

 

 

 

 

 

x 2

 

 

 

 

 

 

 

 

 

xn

 

 

 

 

 

 

 

 

 

 

 

 

 

функция ϕ

имеет минимум при x =

a и, если x

a , то

 

ϕ

 

< 1.

 

 

 

 

 

 

 

 

 

y

 

 

 

 

 

 

y=x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y= ϕ(x)

 

 

 

 

 

 

 

 

 

 

 

 

x0

x x3 x2

 

x1

x

 

Рис. 13

 

 

x0 . Даже если x0

Этот итерационный процесс сходится при любом

выбрать из отрезка (0,

a ] , там, где

 

ϕ

 

>1 , то после первой же ите-

 

 

52

рации точка x1 попадает в область x > a монотонной сходимости

(рис. 13).

Пример 2. Найти корень уравнения (построить итерационный процесс):

x = 2sin x ,

0 < x < 2.

Решение. Вначале графически или с помощью таблиц отыскиваются ориентировочные значения корней. Здесь это можно сделать с помощью разложения sin x в ряд:

 

x

3

 

x

5

 

 

 

 

 

 

 

,

x 2 x

6

+

120

 

 

 

 

 

 

 

 

 

 

 

 

отсюда находим

x4 20x3 +60 =0

 

 

 

x2 =10 ± 2 10 10 ±6,4

 

 

или

 

x2 3,6

x 1,9 .

Оценим производную

ϕ(x)= 2sin x вблизи

корня

x = 1,9 π / 2 +0,33 . Имеем

 

 

 

 

 

 

 

 

π

 

 

 

 

 

 

 

(0,33)3

 

 

 

 

 

 

 

ϕ(x)

 

 

= 2 cos

 

+ 0,33

 

= −2 sin(0,33)= −2 0,33

 

 

≈ −0,66 .

 

 

 

 

 

x=1,9

 

 

2

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поскольку вблизи корня

 

 

ϕ

 

<1 , то итерационный процесс мож-

 

 

но строить в виде

 

 

 

 

 

 

 

 

 

 

xn+1 = 2sin xn .

Легко видеть, что вблизи корня процесс носит колебательный характер. Начальное приближение x0 = 1.9 дает последовательность xn: 1.89260, 1.89733, 1.89431, 1.89624, 1.89501, 1.89580, 1.89530,…, 1.89549. С точностью до пяти знаков решение есть x = 1,89549 .

3. Метод Ньютона (метод касательных)

 

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

 

f (x)= 0 .

(7)

Пусть x точное решение, а

 

xn

приближенное значение корня.

Разлагаем (7) вблизи xn по малому параметру

x - xn :

f (x)= f (xn + (x xn ))= f (xn )+ (x xn )f (xn )= 0 ,

отсюда находим

 

 

f (xn )

 

 

x = x

 

.

 

 

 

 

 

n

 

f (xn )

 

Приближенно заменяя x xn +1 ,

получаем итерационный процесс

53

 

 

 

 

 

 

 

 

 

 

 

f (xn )

 

 

 

 

 

 

 

 

 

xn+1 = xn

f (xn ).

 

 

 

 

3.1. Сходимость метода Ньютона.

Метод Ньютона можно рас-

сматривать как частный случай метода простых итераций с функ-

цией

 

 

 

ϕ(x)= x f

(x) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

(x)

 

 

 

 

 

Поскольку для простых итераций условием сходимости является

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ϕ

(x) < 1 , то условие

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

2

(x)f (x)f

′′

 

f

′′

 

 

 

 

 

 

 

 

(x)

 

(x)f (x)

<1

 

 

 

 

 

 

 

 

f 2 (x)

 

 

 

 

 

f 2 (x)

 

 

ϕ (x) = 1

 

 

 

 

 

 

 

=

 

 

является условием сходимости метода Ньютона. Если

 

 

 

 

 

 

 

 

 

 

 

 

f (x)f

′′

<1

 

 

(8)

 

 

 

 

 

 

 

 

 

 

 

(x)

 

 

 

 

 

 

 

 

 

 

 

 

 

f 2 (x)

 

 

 

 

 

всюду, то метод Ньютона сходится при любом начальном прибли-

жении. Если (8) выполняется не везде, то сходимость будет, если

x0

близко к x .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Метод Ньютона имеет наглядный геометрический смысл (рис.14).

 

y

 

y=f(x)

 

 

 

 

 

y

 

 

 

y=f(x)

 

 

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

A α

 

 

 

 

C

 

 

 

 

 

 

 

x

 

x

 

x1

 

 

 

 

 

x0

x

 

 

 

 

 

 

x3 x2

x1

x0

 

Рис. 14

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 15

 

В треугольнике ABC имеем BC= f (x0 ),

AC= x0 x1 ,

tgα = f (x0 ) .

Поскольку x0 x1 = AB cosα , f (x0 )= ABsinα ,

 

f (x0 )= AB sinα то

 

 

x

 

x

 

= f

(x

 

) 1

 

 

= f (x0 ) .

 

 

 

 

 

0

 

 

1

 

 

 

0

tgα

 

f (x0 )

 

 

 

 

 

 

 

 

 

 

 

 

 

54

 

 

 

 

 

 

 

 

Таким образом, точка пересечения касательной к кривой в точке x0

с осью x определяет координату x1 следующего приближения. Из графика ясно, что в качестве начального приближения целесообразно брать точку x0 , в которой f (x0 )f ′′(x0 )> 0 , при этом последователь-

ность {xn } монотонно стремится к корню (рис.15).

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

x = cos x .

Решение. Обозначаем f(x) = x – cosx, тогда f‘ = 1 + sinx. Это дает следующую итерационную формулу:

xn+1

= xn

f (xn )

= xn

xn cos xn

f (xn )

1

+ sin xn

 

 

 

Из геометрических соображений можно определить, что единственный корень расположен в промежутке 0, π/2. Нулевое приближение x0 = 1 дает следующую последовательность приближений: x1

=0.7503639, x2 =0.7391129, x3 =0.7390851, x4 =0.7390851. Ответ: x = 0.7391.

Пример 4. Исследовать сходимость итерационного процесса вычисления корня x = m a методом Ньютона для соотношения

f (x) = xm a , a >0, m >1 .

Решение. Производная f равна f (x) = mxm1 и итерационная формула имеет вид

xn+1 = xn

f (x)

=

(m 1)xnm + a

=ϕ(xn ) .

m1

 

f (x)

 

 

 

 

mxn

 

Графики функций y = x и y = ϕ(x) приведены на рис. 16.

Вторая производная

′′

 

m2

. Следовательно,

f (x) = m(m 1)x

 

 

 

f (x) f ′′(x)

=

m 1 xm a

 

 

f 2 (x)

 

 

m

 

xm

 

Функция Φ(z) = (z a) z является монотонной и ограниченной на бесконечности (рис. 17). Следовательно, из | f f”/f’2 | < 1 находим, что процесс гарантированно сходится, если x0 > m a . Однако, как видно из рис.16, он сходится и в противоположном случае. Если

55

x0 < m a , то после первой же итерации следующее приближение x1

попадает в область xi > m a ,

i 1 .

y y=ϕ(x)

y=x

y

1

 

 

 

y=Φ(x)

 

 

y=(m-1)x

a

 

 

x

 

x0

x3 x2

x1

 

Рис.16

Рис.17

Задачи

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

a) x = cos x , 0 < x < 1,

b) x = tg 2 x,

0 < x <

π

,

c) x thx =1,

1 < x < 2 .

 

2

 

 

 

 

2. Найти методом Ньютона действительные корни уравнений с тремя знаками после запятой

a) 8x3 20x2 2x + 5 = 0 ,

2 < x < 3

 

b) 6 x4 +7 x3 + 3x2 +7 x 3 =0 ,

0 < x < 1.

 

3. Найти корни уравнения с точностью 10 - 4

 

a) x =

3

ctgx,

0 < x < π ,

b) x2 + ln x = 0,

0 < x < 1

 

2

 

2

 

 

а) методом простой итерации, в) методом Ньютона.

4. Найти корни уравнения с тремя правильными знаками после запятой

a)

x4 + 3x3 3x2 7 x +6 = 0 ,

0.5 < x < 1.5

b)

4x4 12x3 + x2 + 24x 18 =0 ,

1 < x < 2.

5. Найти корень уравнения в соответствующем диапазоне x с точностью 10 – 4

a) th x = tg x ,

1 < x < 5;

b) th x = ctg x ,

2< x < 6

56

c) tg x =

 

2x

, 1 < x < 4; d) tg x =

x3 9x

, 1 < x < 4

 

x2

4x2

 

9

2

 

 

6. Методом простой итерации найти положительный корень уравнения f (x) =1 с тремя правильными знаками, где

1

x

2n+1

 

x

 

1 x

 

3

1 x

 

5

f (x) =

 

 

 

 

=

 

+

 

 

 

 

+

 

 

 

 

+....

 

 

 

 

 

 

 

n=0 n !(n + 1) !

2

 

 

2

 

1! 2 !

2

 

 

2 !3 !

2

 

 

7.Найти положительный корень уравнения с точностью 10 – 4

x4 x 1 =0 .

8.Исследовать сходимость итерационных формул метода Ньютона

вычисления корня x = m a

a) f (x) = xm a ,

b) f (x) =1

xm

,

c) f (x) =1

a

.

a

 

 

 

 

 

xm

9. С помощью метода Ньютона процедуру вычисления обратной величины y = 1/x можно свести к алгоритму, который использует только операции сложения и умножения, следующим образом. Обозначая F(x, y) = x – 1/y и пользуясь формулой

yn+1

= yn

F

(x, yn )

,

n =0,1,2,...

Fy

(x, yn )

 

 

 

 

можно определить этот итерационный алгоритм как yn+1 = yn (2 xyn ) .

Каким образом следует выбирать y0, чтобы указанный итерационный процесс сходился?

Ответы и указания.

1a) x = 0.7391; 1b) x = 0.6949; 1c) x = 1.1997; 2a) x = 2.5; 2b) x = 0.333; 3a) x = 0.9882; 3b) x = 0.6529; 4a) x = 1; 4b) x1 = 2 , x2 = 1.5; 5a) x = 3.9266; 5b) x = 3.9274; 5c) x = 2.0815; 5d) x = 3.3422.

VII. Численное решение обыкновенных дифференциальных уравнений первого порядка

Рассмотрим задачу Коши

 

 

 

y′ = f (x, y)

x x0 ,

y(x0 )= y0

(1)

Для численного решения задачи выбираем сетку {xn ,

0 n N}

так, чтобы x0 < x1 < x2 <

xN = x .

 

 

57

Решение задачи с помощью формулы Тейлора. Разложим решение задачи (1) в ряд Тейлора на интервале xn x xn+1 :

y(xn+1 )= y(xn )+ hy(xn )+

h2 y′′(xn )

+ , h = xn+1 xn . (2)

 

2

 

Производные в соотношении (2) можно найти, дифференцируя (1) необходимое число раз:

y′ = f (x, y) , y′′ = dxd f (x, y)= fx + fy yx = f x′ + ff y, …

и т.д. После подстановки необходимого числа производных f (k )(x)

из последних соотношений в правую часть (2) получаем рекуррентную формулу для вычисления решения.

1. Метод Эйлера (метод ломаных). Если в (2) ограничиться первы-

ми двумя слагаемыми, то получим формулу (схему) Эйлера. y(xn+1 )= y(xn )+ hf (xn , y(xn )), n = 0,1,…

При численном решении суммарная погрешность включает по-

грешность

округления и погрешность метода. Обозначим

yn y(xn )

величину, которая включает и погрешность округле-

ния. Тогда итерационный процесс Эйлера записывается в виде:

 

 

yn+1 = yn + hf (xn , yn ).

(3)

Эту формулу можно получить и другим способом, если воспользоваться простейшей формулой численного дифференцирования

yn(x) = yn+1hyn

иподставить ее в левую часть уравнения (1).

 

y

 

B

E

 

 

 

 

 

 

 

y0

A

 

D

 

C

 

 

 

 

 

 

 

 

 

 

x

 

x0

x1

x2

x3

 

 

Рис.18.

 

 

 

 

58

 

 

Геометрическая иллюстрация метода Эйлера приведена на рис.18. Пунктиром изображены интегральные кривые уравнения (1). На каждом шаге согласно формуле (3) вычисляется приращение функции y = fx, где f = y. Ордината n-ой итерации будет определяться точкой пересечения касательной к интегральной кривой с вертикальной линией x = xn. Следовательно, использование процесса (3) эквивалентно движению точки в плоскости x-y не по интегральной кривой AB, а по ломаной линии ACDE.

Погрешность метода Эйлера. Обозначим точное значение решения y(xn )=U n , для которого справедливо разложение (2):

 

 

 

 

 

 

 

 

 

U n+1 =U n + hf (xn ,U n )+

h2U n′′

.

 

 

 

(4)

2

 

Рассмотрим разность (4) и (3)

 

 

 

 

 

 

 

 

 

 

 

 

h2U n′′

 

 

U n+1 yn+1 =U n yn + h[f (xn ,U n )f (xn , yn )]+

.

(5)

 

Предполагаем, что

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (xn ,U n )f (xn , yn )

 

AU n yn

 

 

 

A = const

 

 

 

 

 

 

 

 

 

U n′′

 

=

 

f x′ +

ff y

 

B

 

 

 

B = const

 

 

 

 

 

 

 

 

 

Тогда обозначая zn

=U n yn , получим

 

 

 

 

 

 

 

 

 

 

 

 

zn+1

 

zn + hAzn +

h2 B

= (1 + hA)zn

+

h2 B

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

2

 

 

 

 

Выразим величину погрешности на nом шаге через погрешность на нулевом шаге. Имеем:

zn

 

(1 + hA)n

 

z0

 

+

h2 B

(1 +α +α2

+ +αn1 ),

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

где α = 1 + hA . Если начальное значение задано точно, то z0 = 0 и

после суммирования геометрической прогрессии имеем для погрешности:

y(xn )yn 2hBA [(1 + hA)n 1],

т.е. формула Эйлера является формулой первого порядка точности по h, хотя на каждом интервале (xn , xn+1 ) одношаговая погреш-

ность квадратична по h.

2.Процедура дробных шагов решения задачи Коши. Проинтегрируем уравнение (1) по промежутку (xn , xn + h):

59

 

x

 

+h

 

 

 

 

 

 

y(xn + h)= y(xn )+

nf (x, y)dy = y(xn )+ I .

(6)

 

 

xn

 

 

 

 

 

 

Вычислим интеграл по формуле средних

 

 

 

I = hf (x)+ R(ξ) ,

 

xn <ξ < xn + h ,

 

где погрешность R(ξ)= h

3

 

′′

 

 

кубична по h.

Здесь

 

f (ξ)/ 24

x = xn + h / 2 . Из соотношения (6) находим

 

 

 

 

 

 

h

 

 

h

 

 

y(x + h)= y(x)+ hf x +

 

, y x +

 

+ o(h3 ).

 

 

 

 

 

 

 

2

 

 

2

 

 

 

 

 

 

 

 

Таким образом, по методу дробных шагов рекуррентный процесс, строится в два этапа. Сначала по методу Эйлера вычисляется промежуточное значение

 

h

 

 

h

 

f (xn , yn ),

 

(7)

y xn +

 

=y n

+

 

 

 

 

 

 

 

2

 

 

 

2

 

 

 

 

 

 

 

 

 

 

а затем вычисляется конечное значение

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

h

 

 

(8)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, y xn

+

 

 

 

yn+1 = yn + hf xn +

2

 

 

2

.

 

 

 

 

 

 

 

 

 

 

 

 

O(h3 ), в отли-

Погрешность каждого этапа процедуры (7) (8)

 

чие от аналогичной одношаговой погрешности

 

O(h2 ) метода

Эйлера. Выражения (7), (8) можно объединить

 

 

 

 

 

 

 

 

 

 

h

 

 

h

 

 

 

 

yn+1 = yn + hf xn

+

 

 

 

 

 

, yn +

 

 

 

fn

.

(9)

2

2

 

 

 

 

 

 

 

 

 

 

 

Формула схемы дробных шагов на всем промежутке [x0, xn] является формулой второго порядка точности.

Пример. На отрезке [0,1] проинтегрировать уравнение y′ = y 2yx с

начальным значением y(0)= 1 и шагом h=0,2: a) методом Эйлера;

b) с помощью процедуры дробных шагов.

Решение. Численное решение задачи удобно проводить в виде таблицы:

a) решаем численно методом Эйлера.

60

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