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

а) Находим a = a − D, b = b + D, fa = f(a), fb = f(b), идем к пункту 3.

б) Присваиваем последовательно a = x0, x0 = b, fa = f0, f0 = fb; находим b = b + D, fb = f(b), идем к пункту 3.

в) Аналогично 6b, только направление поиска — влево.

Возможны модификации алгоритма.

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

Для использования метода простых итераций (последовательных приближений) заменим уравнение f(x) = 0 эквивалентным ему уравнением x = ϕ(x).

Выберем некоторое приближение x0 [a, b] корня и подставим его в правую часть. Получим x1 = ϕ(x0). Дале вычисляем по формулами: xn = ϕ(xn−1), n = 2, 3, . . .. Получаем последовательность приближений {xn} к корню, что в случае ее сходимости к корню x , может дать приближенное его значение с заданной точностью ε.

Теорема 8 Пусть функция ϕ(x) определена и дифференцирована на отрезке [a, b], причем все значения ϕ(x) [a, b]. Тогда если существует правильная дробь q такая, что

0(x)| 6 q < 1

при a < x < b,

(2.10)

то: итерационный процесс

 

 

xn = ϕ(xn−1)

(n = 1, 2, . . .)

(2.11)

1) сходится независимо от начального значения x0 [a, b];

Назад Первая Предыдущая Следующая Последняя Перейти Предметный указатель

2) предельное значение ξ = lim xn есть единственным корнем уравнения

n→∞

x = ϕ(x)

(2.12)

на отрезке [a, b].

Доказательство. Рассмотрим два последовательных приближения xn = ϕ(xn−1) и xn+1 = ϕ(xn) (которые в силу условий теоремы существуют). Отсюда

xn+1 − xn = ϕ(xn) − ϕ(xn−1)

Применяя теорему Лагранжа, будем иметь:

xn+1 − xn = (xn − xn−10(xn), где xn [xn−1, xn].

Используя условие (2.10) получим:

|xn+1 − xn| 6 q|xn − xn−1|.

Отсюда, подставляя значения n = 1, 2, 3, . . ., последовательно находим:

|x2 − x1| 6 q|x1 − x0|;

|x3 − x2| 6 q|x2 − x1| 6 q2|x1 − x0|;

. . . . . . . . . . . . . . . . . . . . . . . . . . .

|xn+1 − xn| 6 qn|x1 − x0|.

Рассмотрим ряд:

x0 + (x1 − x0) + (x2 − x1) + . . . + (xn − xn−1) + . . .

(2.13)

(2.14)

(2.15)

Назад Первая Предыдущая Следующая Последняя Перейти Предметный указатель

для которого наши последовательные приближения xn являются (n + 1)-мы частичными суммами, то

есть xn = Sn+1.

Следуя неравенству (2.14) члены ряда (2.15) по абсолютной величине меньше соответствующих членов геометрической прогрессии со знаменателем q < 1, поэтому ряд (2.15) сходится, и притом абсолютно. Итак, существует

lim Sn+1 = lim xn = ξ

n→∞ n→∞

причем, очевидно, ξ [a, b]. Переходя к пределу в равенстве (2.11), в силу непрерывности функции ϕ(x) получаем:

ξ = ϕ(ξ).

(2.16)

Таким образом ξ есть корень уравнения (2.12). Другого корня на отрезке [a, b] уравнение (2.12) не имеет. Действительно если,

 

 

 

 

(2.17)

ξ = ϕ(ξ),

то из равенств (2.16) и (2.17) получим: ξ − ξ = ϕ(ξ) − ϕ(ξ) и значит,

(

ξ

− ξ)[1 − ϕ0(c)] = 0,

(2.18)

где c [ξ, ξ]. Поскольку выражение в квадратной скобке в равенства (2.18) не равняется нулю, то ξ = ξ, то есть корень ξ — единственен.

Замечание 1. Теорема остается верной, если функция ϕ(x) определена и дифференцируема на интервале −∞ < x < ∞, причем при x (−∞; +∞) выполняется неравенство (2.10).

Замечание 2. В условиях теоремы метод итерации сходится при любом выборе начального значения x0 [a, b]. Благодаря этому он есть самоисправляющимся, то есть отдельная ошибка в вычислениях,

Назад Первая Предыдущая Следующая Последняя Перейти Предметный указатель

которая не выводит за границы отрезка [a, b] не повлияет на конечный результат, так как ошибочное значение можно рассматривать как новое начальное значение x0. Возможно возрастет лишь объем работы . Свойство самоисправления делает метод итерации одним из наиболее надежных методов вычислений.

Оценка приближения. Из формулы (2.14) имеем:

|xn+p − xn| 6 |xn+p − xn+p−1| + |xn+p−1 − xn+p−2| + . . . + |xn+1 − xn| 6

6 qn+p−1|x1 − x0| + qn+p−2|x1 − x0| + . . . + |xn+1 − xn| + +qn|x1 − x0| = = qn|x1 − x0|(1 + q + q2 + . . . + qp−1)

Применив формулу суммы геометрической прогрессии, получим:

 

 

 

 

x

 

x

n| 6

qn

x

 

x

 

 

1 − qp

<

 

qn

 

x

 

 

x

.

|

n+p

1

 

| 1 − q

 

− q |

 

 

 

|

 

 

 

0

1

 

1

 

0|

Направляя число p к бесконечности и учитывая то, что lim xn+p = ξ , находим окончательно:

 

 

 

 

 

 

 

 

 

 

 

qn

p→∞

 

 

 

 

 

 

 

 

 

|ξ − xn| 6

 

 

 

 

 

 

 

 

 

 

 

(2.19)

 

 

 

 

 

 

|x1 − x0|.

 

 

 

 

 

 

 

 

 

1 − q

 

 

 

 

Отсюда ясно, что сходимость процесса итерации будет тем быстрее, чем меньше число q.

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

Очевидно, что f0(x) = 1 − ϕ0(x) > 1 − q. Отсюда учитывая то, что f(ξ) = 0, получим:

 

 

 

|xn − ϕ(xn)| = |f(xn) − f(ξ)| = |xn − ξ|f0(

 

 

) > (1 − q)|xn − ξ|,

 

xn

 

где

 

(xn, ξ), и, значит,

 

 

 

 

 

 

 

 

 

 

xn

 

 

 

 

 

 

 

 

 

 

 

 

x

n

ξ

| 6

|xn − ϕ(xn)|

,

(2.20)

|

 

1

q

 

 

 

 

 

 

 

 

 

 

 

 

 

Назад Первая Предыдущая Следующая Последняя Перейти Предметный указатель

|xn − xn−1| 6

то есть

|ξ − xn| 6 |xn+1 − xn|,

1 − q

Используя формулу (2.13), имеем также:

q

|ξ xn| 6 1 − q |xn xn−1|.

(2.21)

(2.22)

Отсюда, в частности, вытекает, что если q 6 12 , то |ξ −xn| 6 |xn −xn−1|. В этом случае из неравенства

|xn − xn−1| < ε вытекает неравенство |ξ − xn| < ε .

Замечание. Существует распространенное мнение, что если при применении метода итерации два последовательных приближения xn−1 и xn совпадают между собой с заданной точностью ε (например, для этих приближений установились m первых десятичных знаков), то с той же точностью справедливо равенство ξ ≈ xn (то есть в частности, в приведенном примере m знаков приближенного числа xn есть верными!). В общем случае это утверждение ошибочно. Более того, легко показать, что если ϕ0(x) близка к 1, то величина |ξ − xn| может быть большой, хотя величина |xn − xn−1| очень маленькая.

Формула (2.21) дает возможность оценить погрешность приближенного значения xn по разности двух последовательных приближений xn−1 и xn.

Процесс итерации следует продолжать до тех пор, пока для двух последовательных приближений xn−1 и xn не будет обеспечено выполнение неравенства

1 −q q ε,

где ε — заданная предельная абсолютная погрешность корня ξ и |ϕ0(x)| 6 q. Тогда из формулы (2.22) будет иметь место неравенство |ξ −xn| 6 ε, то есть ξ = xn ±ε. Заметим, что если xn = ϕ(xn−1) и ξ = ϕ(ξ),

Назад Первая Предыдущая Следующая Последняя Перейти Предметный указатель

то |ξ−xn| = |ϕ(ξ)−ϕ(xn−1)| = |ξ−xn−1||ϕ0(xn−1)| 6 q|ξ−xn−1|, (xn−1 (xn−1, ξ)) , то есть |ξ−xn| 6 |ξ−xn−1|

.

Таким образом, для сходящегося итерационного процесса погрешность |ξ − xn| стремится к нулю монотонно, то есть каждое следующее значение xn есть более точным, чем предыдущее значение xn−1. Конечно, при всех этих выводах игнорируются погрешности округлений, то есть предполагается, что последовательные приближения находятся точно.

На практике обычно бывает так, что грубым приемом устанавливается существование корня уравнения (2.8) и методом итерации нужно получить довольно точное приближенное значение корня, причем неравенство (2.10) выполняется лишь в некоторой окрестности [a, b] этого корня. Здесь при неудачном выборе начального значения x0 последовательные приближения xn = ϕ(xn−1) (n = 1, 2, . . .) могут оставить интервал [a, b] или даже утратить смысл.

Пример. Приведение уравнения к виду, удобному для итераций

f(x) = x2 − 3x + 3, 25 − 5 · cos(x)

Будем искать простой корень уравнения, которое находится на отрезке локализации [−0.4, 0]

f(−0, 4) = 4, 695 · 10−3,

f(0) = −1, 75.

Найдем корень с помощью встроенной функции root:

x0 := 0 T OL := 10−10

root(f(x0), x0) = −0, 3991826759.

Назад Первая Предыдущая Следующая Последняя Перейти Предметный указатель

1 способ. Приведем уравнение к виду x = φ(x), где φ(x) := (x2 − 5 cos(x) + 3, 25).

3

Проверим условие сходимости: dxd φ(x) → 23x + 53 sin(x).

График производной Максимальное по модулю значение производной итерационной функции достигается на левом кон-

це отрезка

 

 

φ1(x) :=

d

φ(x)

 

 

dx

q := |φ1(−0, 4)|

q = 0, 916

x0 := −0, 4.

Выполним 3 итерации по расчетной формуле x = φ(x) 1 итерация: x0 := −0, 4; y = φ(x0); y =

−0, 39843499.

2 итерация: x0 := −0, 39843499; y = φ(x0); y = −0, 3998653686.

3 итерация: x0 := −0, 3998653686; y = φ(x0); y = −0, 3985582517. Погрешность найденного значения: |y − (−0, 3991826759)| = 6, 244 · 10−4.

2 способ. Приведем уравнение к виду x = x − αf(x), где итерационная функция φ(x) = x − αf(x),

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

 

d

f1(x) := 2x − 3 + 5 sin(x)

dxf(x) → 2x − 3 + 5 sin(x),

График производной f1(x):

Максимальное и минимальное значения производной достигаются на концах отрезка.

Назад Первая Предыдущая Следующая Последняя Перейти Предметный указатель

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