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

x = b +2 a + b 2 a t .

Тогда формула Гаусса будет иметь вид

 

b

 

 

 

 

n

 

 

*( f ) ,

 

f (x) dx = b a Ai f (xi ) + Rn

 

a

 

 

 

2

i=1

 

 

 

 

где

xi =

b + a

+

b a

ti ,

*

b a

2n+1

2

2

Rn

( f ) =

2

 

Rn ( f ) .

 

 

 

 

 

 

 

 

Пример. Вычислить интеграл по формуле Гаусса при n = 4

Решение. Сделаем замену переменной

I = 3 1dxx .

1 +

 

 

1

+

3

 

3 1

 

 

 

 

 

 

1

 

dt

x =

 

2

 

 

+

2

t x = 2 +t , dx = dt . Получим

интеграл

 

 

. Составим таблицу

 

 

 

t

+3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

значений подынтегральной функции

1

 

 

 

 

 

 

 

t +3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

ti

 

 

f (ti )

 

Ai

 

 

 

 

 

 

 

 

1

 

 

-0,861136312

 

0,467537976

 

0,347854845

 

 

 

 

 

 

 

 

2

 

 

-0,339981044

 

0,375937170

 

0,652145155

 

 

 

 

 

 

 

 

3

 

 

0,339981044

 

0,299402896

 

0,652145155

 

 

 

 

 

 

 

 

4

 

 

0,861136312

 

0,258991115

 

0,347854845

 

По формуле Гаусса при n = 4 находим

 

 

 

 

 

 

I = A1 f (t1) + A2 f (t2 ) + A3 f (t3 ) + A4 f (t4 ) = 0,693146416 .

 

 

 

Точное значение интеграла

 

 

 

 

 

 

 

 

 

1 dt

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= ln(t +3)

 

1 = ln 4 ln 2 = 2ln 2 ln 2 = ln 2 = 0,69314718 .

 

 

 

t +3

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Абсолютная погрешность составляет 7,6 107 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.8 Численное решение нелинейных уравнений

Пусть дано уравнение

 

 

 

 

 

 

 

 

 

f (x) = 0 ,

 

 

 

 

 

 

 

 

 

 

 

(1)

где f (x) – заданная функция, непрерывная в некотором конечном или бесконечном интервале. Число ξ называется корнем уравнения (1), если f (ξ) = 0. Вычисление корней состоит из нескольких этапов. Вначале определяют, какие корни требуется найти, например, только действительные или только положительные и т.д. Затем выделяют области, содержащие по одному корню уравнения (1). Далее, применив какой-либо вычислительный алгоритм, находят выделенный корень с требуемой точностью. На заключительном этапе проводится про-

162

верка полученных результатов.

4.8.1. Отделение корней

Для отделения корней часто применяют теорему Больцано-Коши: Если функция f (x) непрерывна на отрезке [a,b] и на его концах принимает значения разных знаков ( f (a) f (b) < 0) , то внутри отрезка [a,b] существует по крайней мере один корень уравнения

(1).

Заметим, что корень будет единственным в интервале (a,b), если f (x) не меняет

 

 

знака в этом интервале, т.е. f (x) > 0 или

f (x) < 0 при всех

x [a,b].

 

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

расположении корней уравнения. Если построение графика функции f (x)

вызывает затруд-

нения, то уравнение (1) следует преобразовать к виду:

 

 

 

 

ϕ1(x) = ϕ2 (x)

 

 

 

 

 

 

 

 

 

 

так, чтобы графики функций

y = ϕ1(x) и

y = ϕ2 (x) было по возможности легче построить.

Абсциссы точек пересечения этих графиков и будут корнями уравнения (1).

 

Пример. Отделить корни уравнения x3 3x 1 = 0 .

 

 

 

Решение. 1) Применим графический способ. Преобра-

 

 

 

зуем данное уравнение к виду x3 = 3x +1 и построим графики

 

 

 

функций y = x3 и y = 3x +1.

 

 

 

 

 

 

 

 

 

 

Графики пересекаются в трех точках. Абсциссы этих

 

 

 

точек ξ1,ξ2,ξ3

и есть корни исходного уравнения. Из рисунка

 

 

 

видно, что ξ1 (2;1) , ξ2 (1;0) , ξ3 (1;2) .

 

 

 

 

2) Найдем концы интегралов, в которых содержатся

 

 

 

корни ξ1,ξ2,ξ3 . Для этого составим таблицу значений

f (x)

 

 

 

вида:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

х

– 2

– 1

 

0

 

1

2

 

 

 

 

f (x)

– 3

1

 

 

– 1

 

– 3

1

 

 

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

ξ1 (2;1) ,

ξ2 (1;0) , ξ3 (1;2) ,

т.к.

 

f (2) = −3 < 0, а

f (1) =1 > 0 ;

f (1) =1 > 0 , а

f (0) = −1< 0 ;

f (1) = −3 < 0 , а

f (2) =1 > 0 .

Других корней исходное уравнение не имеет, т.к.

163

оно имеет не более трех различных корней.

4.8.2 Метод деления отрезка пополам

Пусть на отрезке [a,b] имеется только один корень, f (x) – непрерывная функция и f (a) f (b) < 0 . Очевидно, что середина отрезка служит приближением к корню уравнения (1)

с точностью ε ≤

b a

. В середине отрезка x

=

a +b

определяется знак функции f (x) , затем

 

 

2

1

2

 

 

 

выбирается та половина отрезка, на концах которой функция f (x) принимает значения разных знаков, и деление повторяется. Если требуется найти корень с точностью δ, то деление отрезка пополам продолжается до тех пор, пока длина отрезка не станет меньше 2δ. Тогда середина последнего отрезка даст значение корня с требуемой точностью. В этом методе можно не вычислять значений функции f (x) , достаточно лишь определить знак значения

функции. Обозначим погрешность на n-м шаге εn = xn x* , где х* – точное значение корня,

тогда погрешности на n-ом и (n+1)-м шагах связаны неравенством εn+1 21εn , n =1, 2, , что

говорит о линейной скорости сходимости этого метода. Несмотря на невысокую скорость сходимости, алгоритм метода очень прост и надежен.

Пример. Методом деления отрезка пополам найти третий корень из предыдущего примера с точностью до ε=0,1.

Решение. Дано

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

х

 

1

 

2

 

 

 

 

 

f (x)

 

– 3

 

1

 

Делим отрезок пополам:

 

 

 

 

 

 

 

x =

1+ 2

=1,5; f (1,5) =1,53

3 1,5 1 < 0 .

 

 

 

 

 

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выбираем отрезок [1,5; 2]. x2 =

1,5 + 2

=1,75;

f (1,75) =1,753 3 1,75 1 < 0 .

2

 

 

 

 

 

 

 

 

 

 

 

Выбираем [1,75; 2]. x =

1,75 + 2

=1,875; f (1,875) =1,8753 3 1,875 1 = −0,033 < 0 .

 

 

3

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выбираем [1,875; 2]. Его длина 2–1,875=0,125, а 2ε=0,2. Поэтому x*=x3=1,875. Проведем проверку: 1,8753–3 1,875–1=0; –0,0330. Округляя до 0,1: 0,0=0.

4.8.3 Метод простой итерации (метод последовательных приближений)

 

Заменим уравнение (1) эквивалентным ему уравнением

 

x = ϕ(x) .

(2)

164

Это можно сделать различными способами, например:

x = x +Cf (x),

C 0.

 

 

 

 

(3)

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

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

(2). Определим числовую последовательность xn

по формулам

 

 

xn+1 = ϕ(xn ),

n = 0,1,2,

 

 

 

 

(4)

Определение. Последовательность xn будем называть итерационной, если для любых

n 0 элемент xn+1 выражается через элемент xn

по рекуррентной формуле (4), а в качестве

x0 взято любое число из области определения функции ϕ(x) .

 

 

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

сходится к пределу х* и ϕ(x) – непрерывная функция, то

х* будет корнем уравнения (2).

 

 

 

 

 

Действительно: x

 

= lim xn+1

 

 

 

 

) .

 

= lim ϕ(xn ) = ϕ lim

xn = ϕ(x

 

 

 

 

n→∞

n→∞

n→∞

 

 

 

В этом случае мы будем говорить, что итерационный процесс сходится (итерации сходятся).

Геометрически метод итераций можно проиллюстрировать следующим образом. Построим графики функций y = x и y = ϕ(x) .

Корнем уравнения (2) будет абсцисса точки пересечения этих графиков. Пусть мы выбрали начальное приближение x0 . Из точки x0 на оси абсцисс восстановим перпендикуляр до пересечения с графиком кривой y = ϕ(x) . Обозначим эту точку через А0. Через А0 проведем прямую, параллельную оси Ох и точку ее пересечения с прямой y = x обозначим через В1. Очевидно,

что абсцисса точки В1 и будет первым приближением х1. Точку пересечения прямой х = х1 и кривой y = ϕ(x) обозначим через А1. Через точку А1 проведем прямую, параллельную оси Ох

165

и точку пересечения ее с прямой у = х обозначим через В2. Абсцисса В2 будет вторым приближением корня х2 и т.д. Отметим, что приближение к корню происходит справа. Это связано со знаком производной ϕ′(x) . Здесь она положительна; если же ϕ′(x) < 0 , то ние к корню происходит попеременно: то справа, то слева. В случае, когда ϕ′(x) > 1 итерации расходятся (об этом ниже).

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

Сходимость метода

Теорема. Если на отрезке [a,b], содержащем х0 и все последующие приближения xn ,

n N , функция ϕ(x) имеет непрерывную производную ϕ (x) и

 

 

 

 

 

 

 

q <1,

(5)

 

 

 

ϕ (x)

 

то итерационная последовательность (4) сходится к единственному на отрезке [a,b] корню уравнения (2).

Доказательство.

 

Применяя теорему Лагранжа к разности

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

получим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xn+1 xn = ϕ (ξ)(xn xn1) , где ξ (xn1, xn ) .

 

Учитывая условие (5), можно записать неравенство

 

 

xn+1 xn

 

 

q

 

xn xn1

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Полагая здесь n = 1, 2,3,k будем последовательно иметь

 

 

x2 x1

 

q

 

x1 x0

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

3

x

2

 

 

 

q2

 

x

x

0

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(6)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

k

+1

x

k

 

 

qk

 

x

x

0

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Составим два ряда вида:

 

 

 

 

 

 

 

 

 

 

 

x

 

x

0

 

 

+ q

 

x x

0

 

 

+ q2

 

x

x

0

 

+ + qk

 

x x

0

 

+

(7)

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

x0 + (x1 x0 ) + (x2 x1) + (x3 x2 ) + + (xn+1 xn ) +

(8)

Ряд (7) есть бесконечная геометрическая прогрессия, знаменатель которой равен положительному числу q < 1, следовательно, ряд (7) сходится. На основании неравенств (6) члены ряда (8) (начиная со второго) по модулю не превосходят соответствующих членов сходящегося ряда (7), следовательно, ряд (8) тоже сходится (причем абсолютно).

Составим частичную сумму Sn+1 ряда (8):

Sn+1= x0 + (x1 x0 ) + (x2 x1) + + (xn+1 xn ) , откуда Sn+1 = хn. Так как ряд (8) сх о- дится, то существует конечный предел nlim→∞ Sn+1 = nlim→∞ Sn = ξ , причем ξ [a,b]. Из вышеска-

166

занного следует, что это число ξ есть корень уравнения (2).

Докажем, что этот корень единственный. Допустим, что существует еще корень η ≠ ξ уравнения (2), η [a,b], тогда имеем η = ϕ(η) и ξ = ϕ(ξ) , откуда после применения теоремы Лагранжа

η−ξ = ϕ (c)(η−ξ) ,

(9)

 

где с между η < c < ξ . Так как

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

η − ξ ≠ 0 , то из (9) и меем ϕ (c)=1, что противоречит усло-

вию (5). Следовательно, ξ=η, т.е. корень ξ – единственный.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Оценка погрешности приближения, полученного по методу итерации

Рассмотрим разность

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xn+k xn = (xn+k xn+k1) + (xn+k1 xn+k2 ) + + (xn+2 xn+1) + (xn+1 xn ) .

В силу неравенства (6)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xn+k xn

 

 

xn+1 xn

 

+

 

xn+2 xn+1

 

+ +

 

xn+k 1 xn+k 2

 

+

 

xn+k xn+k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

qn

 

 

 

x

 

 

x

 

 

+ qn+1

 

x

x

 

+ + qn+k +2

 

x

 

x

 

+ qn+k 1

 

x

x

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

 

 

 

 

 

 

 

 

 

1

0

 

 

 

 

 

1

 

0

 

 

 

 

 

 

 

 

1

0

 

 

 

 

 

 

 

 

 

= qn

 

x

 

 

x

 

 

(1+ q

+ q2 + + qk 1) = qn

 

x

x

 

 

 

1qk

<

 

 

qn

 

 

 

x

x

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

 

 

1q

 

1q

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Переходя в этом неравенстве к пределу при k → ∞ , и учитывая, что lim xn+k = ξ , по-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k→∞

лучим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ξ− x

 

 

qn

 

 

x x

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(10)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

1q

 

 

1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отсюда, в частности, следует, что скорость сходимости метода итерации зависит от

величины q: чем меньше q, тем быстрей сходимость. Следовательно, при практическом нахождении корней методом итерации нужно стремиться представить уравнение (1) в форме

 

 

 

 

 

 

в окрестности корня по абсолютной величине была, воз-

(2) так, чтобы производная ϕ (x)

можно, меньше. Для этого на практике иногда пользуются параметром С в формуле (3).

 

Пример. Вывести формулу для приближений к кубическому корню, т.е. решения

уравнения x3 = a .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение. Уравнение x3 = a

можно представить в виде x =

a

, т.е.

ϕ(x) =

a

. Тогда

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

x2

 

2a

 

 

 

 

 

 

 

 

 

 

 

 

>1 в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ϕ (x) = − x3 . В этом случае итерационный процесс будет расходиться, так как

ϕ (x)

 

 

 

 

 

 

окрестности корня. Если положить

 

 

 

 

 

 

 

 

 

 

 

 

 

ϕ(x) =

a

 

+ 2 x (3x3 = a + 2x3 x = a + 2x3 x =

a

+ 2x3 x =

a

+

2 x),

 

3x2

3x2

3x2

 

 

 

 

3

3x2

3x2

 

3

 

 

 

167

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