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

Численные методы Методические материалы

.pdf
Скачиваний:
17
Добавлен:
22.05.2015
Размер:
2.09 Mб
Скачать

ЧИСЛЕННЫЕ МЕТОДЫ

Конспект лекций

НЕОБХОДИМО РЕШИТЬ

1, 2, 3, 4, (5 ИЛИ 6), 8, 9, 10, 11, 12,14,15

ВВЕДЕНИЕ

Исследование различных явлений или процессов математическими методами осуществляется с помощью математической модели. Математическая модель представляет собой формализованное описание исследуемого объекта посредством систем линейных, нелинейных или дифференциальных уравнений, систем неравенств, определенного интеграла, многочлена с неизвестными коэффициентами и т. д. Математическая модель должна охватывать важнейшие характеристики исследуемого объекта и отражать связи между ними.

После того, как математическая модель составлена, переходят к постановке вычислительной задачи. При этом устанавливают, какие характеристики математической модели являются исходными (входными) данными, какие – параметрами модели, а какие – выходными данными. Проводится анализ полученной задачи с точки зрения существования и единственности решения.

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

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

В настоящее время широко используются как пакеты, реализующие наиболее общие методы решения широкого круга задач (например, Mathcad, MatLAB), так и пакеты, реализующие методы решения специальных задач.

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

2

1. РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ

1.1 ПОСТАНОВКА ЗАДАЧИ

Пусть дана некоторая функция f (x) и требуется найти все или некоторые значения x , для которых f (x) = 0 .

Значение x* , при котором f (x* )= 0, называется корнем (или решением) уравнения. Относительно функции f (x) часто предполагается, что f (x) дважды непрерывно дифференцируема в окрестности корня.

Корень x* уравнения называется простым, если первая производная функции f (x) в точке x* не равна нулю, т. е. f (x* ) 0. Если же f (x* ) = 0 , то

корень x* называется кратным корнем.

Геометрически корень уравнения есть точка пересечения графика функции y=f (x) с осью абсцисс. На рис. 1 изображен график функции y = f (x) ,

имеющей четыре корня: два простых x1* и x*3 и два кратных x*2 и x*4 .

Рис. 1

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

1.2. ОСНОВНЫЕ ЭТАПЫ ОТЫСКАНИЯ РЕШЕНИЯ

В процессе приближенного отыскания корней уравнения обычно выделяют два этапа: локализация (или отделение) корня и уточнение корня.

Локализация корня заключается в определении отрезка a, b , содержаще-

го один и только один корень. Не существует универсального алгоритма локализации корня. Иногда удобно бывает локализовать корень с помощью построения графика или таблицы значений функции y=f (x) . На наличие корня

на отрезке a, b указывает различие знаков функции на концах отрезка. Основанием для этого служит следующая теорема.

3

Теорема. Если функция f непрерывна на отрезке a, b и принимает на его концах значения разных знаков так что f a f b 0, то отрезок a, b

содержит по крайней мере один корень уравнения.

Однако корень четной кратности таким образом локализовать нельзя, так как в окрестности такого корня функция f (x) имеет постоянный знак. На этапе уточнения корня вычисляют приближенное значение корня с заданной точностью > 0. Приближенное значение корня уточняют с помощью различных итерационных методов. Суть этих методов состоит в последовательном вычислении значений x0 , x1, ..., xn ,..., которые являются приближениями к корню x* .

1.3. МЕТОД ПОЛОВИННОГО ДЕЛЕНИЯ

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

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

0

, b

0

,

т. е.

x* a

0

, b

0

, так, что

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x* ) = 0. Пусть функция f (x) непрерывна на отрезке a

0

, b

0

 

и принимает

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на концах отрезка значения разных знаков, т.е. f a0 f b0 0.

 

 

 

 

 

Разделим отрезок a

 

, b

 

пополам. Получим точку x

 

 

 

a0

b0

. Вычис-

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лим значение функции в этой точке: f (x0 ) . Если f (x0 ) = 0 , то x0

 

– искомый

корень, и задача решена. Если f (x0 ) 0 , то f (x0 )

– число определѐнного зна-

ка: f (x0 ) 0

либо f (x0 ) 0. Тогда либо на концах отрезка a0 , x0 , либо на

концах отрезка х0 , b0

значения функции f (x) имеют разные знаки. Обозна-

чим такой отрезок a

, b .

Очевидно, что

x*

a

, b

 

и

 

 

длина отрезка

 

 

1

 

 

1

 

 

 

 

 

 

1

1

 

 

 

 

 

 

 

 

 

 

a1, b1 в два раза меньше, чем длина отрезка a0 , b0 . Поступим аналогично с

отрезком a

, b . В результате получим либо корень x* ,

либо новый отрезок

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a2 , b2 и т. д. (рис. 2).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2

4

 

 

Середина n -го

отрезка

 

x

 

 

 

an + bn

. Очевидно,

что длина отрезка

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

, b

 

будет равна

b0

, а так как x* a

 

, b

 

 

, то

 

 

n

n

 

 

 

n

n

 

 

 

 

 

 

 

2n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

n

x*

 

 

bn

an

 

b0 a0

.

 

 

(1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

2n+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Критерий окончания. Из соотношения (1) следует, что при заданной точ-

ности приближения

 

вычисления заканчиваются,

 

когда будет выполнено не-

равенство bn an 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

0

a

0

 

 

или неравенство n > log2

 

 

 

 

1. Таким образом,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Пример. Найдем приближенно x = 52 с точностью = 0,01. Эта задача эквивалентна решению уравнения x5 2 0, или нахождению нуля функ-

ции f x x5 2 . В качестве начального отрезка a0 , b0 возьмем отрезок

1,2 . На концах этого отрезка функция принимает значения с разными знака-

ми: f 1 0, f 2 0. Найдем число n делений отрезка 1,2 , необходимых для достижения требуемой точности. Имеем:

x

n

x*

 

 

2 1

 

 

1

10 2 , n 6.

 

 

2n+1

2n+1

 

 

 

 

 

 

 

 

 

 

 

 

 

Следовательно, не позднее 6-го деления найдем x = 52 с требуемой точ-

ностью, x = 52 1,1484 . Результаты вычислений представлены в таблице 1.

 

 

 

 

 

 

 

Таблица 1

 

 

 

 

 

 

 

 

n

0

1

2

3

4

5

6

an

1,0000

1,0000

1,0000

1,1250

1,1250

1,1406

1,1406

 

 

 

 

 

 

 

 

bn

2,0000

1,5000

1,2500

1,2500

1,1875

1,1875

1,1562

xn

1,5000

1,2500

1,1250

1,1875

1,1406

1,1562

1,1484

Зн f an

-

-

-

-

-

-

-

 

 

 

 

 

 

 

 

Зн f bn

+

+

+

+

+

+

+

 

 

 

 

 

 

 

 

f xn

5,5938

0,7585

-0,2959

0,1812

-0,0691

0,0532

-0,0078

 

 

 

 

 

 

 

 

bn an

1,0000

0,5000

0,2500

0,1250

0,0625

0,0312

0,0156

 

 

 

 

 

 

 

 

5

1.4. МЕТОД ПРОСТОЙ ИТЕРАЦИИ

Пусть уравнение f (x) 0 можно заменить эквивалентным ему уравнением

 

x = (x).

(2)

Выберем каким-либо образом начальное приближение x0 . Вычислим зна-

чение функции (x) при

x = x0 и найдем уточненное значение x1 = (x0 ) .

Подставим теперь x1 в

уравнение (1) и

получим новое приближение

x2 = (x1 ) и т. д. Продолжая этот процесс неограниченно, получим последова-

тельность приближений к корню:

 

xn+1 = (xn ) .

(3)

Формула (3) является расчетной формулой метода простой итерации.

 

Если последовательность xn сходится при n , т. е. существует

 

x* = lim xn

(4)

n

 

и функция (x) непрерывна, то, переходя к пределу в (3) и учитывая (4), по-

лучим: x* = lim x

 

 

lim (x

 

)

 

lim x

 

 

 

 

x*

 

.

n

n

 

n

n-1

 

 

n

n-1

 

 

 

Таким образом, x* = x*

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

x* – корень уравнения (2).

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

Теорема. Пусть функция (x) определена и дифференцируема на отрезкеa, b , причем все ее значения (x) a, b . Тогда, если выполняется условие

x 1 при a < x < b:

1)процесс итерации xn (xn-1 ) n =1, 2, ... сходится независимо от начального значения x0 a, b ;

2) предельное значение x* = lim xn

n

уравнения x = x на отрезке a, b .

Доказательство. Так как x* x* и

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

xn xn 1 , то можно записать

*

 

*

 

 

 

*

 

 

xn 1

x*

 

xn x

= xn-1 x

 

xn 1

x

 

 

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

 

 

 

 

xn 1

x

 

 

xn-1 * x* xn-1 x* .

xn-1 - x

6

По теореме о среднем (она утверждает, что если производная функции f x непрерывна на некотором интервале a, b , то тангенс угла наклона хор-

 

f b f a

 

 

 

 

ды, проведенной между точками a

и b , (т.е.

 

равен производ-

b a

 

 

 

 

 

 

 

ной функции в некоторой промежуточной точке, лежащей между a и b ) частное в последнем выражении будет равно C , где C – некоторая промежу-

точная

точка

 

в

 

 

интервале

 

 

 

 

поиска

 

корня.

 

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

xn x* = C xn-1 - x* .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если ввести обозначение M = max

 

x

 

для всего интервала поиска, то

 

 

предыдущее равенство может быть переписано в виде:

 

x

n

x*

 

M

 

x

n-1

x*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x*

 

M

 

x

 

 

 

x*

 

 

 

 

 

x

 

x*

 

 

Аналогично

x

n-1

 

 

n-2

. Тогда для

 

n

 

будет справед-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

x*

 

M2

 

 

x

 

 

 

x*

 

 

 

 

ливо неравенство:

n-1

 

 

n-2

 

и т. д. Продолжая эти выкладки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x*

 

Mn

 

x

 

x*

 

где n – натуральное

дальше, в результате получаем

x

n

 

 

0

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

число. Таким образом, чтобы метод сходился, необходимо выполнение нера-

венства:

 

x

n

x*

Mn

x

0

x*

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отсюда следует, что

 

M = max

 

x

 

должно быть меньше единицы. В

 

 

 

 

свою очередь, для всех остальных значений x

меньших M ,

можно запи-

сать:

 

 

 

 

 

 

1. Число q

 

определим из соотношения

 

 

x

 

q 1.

Тогда

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

справедливо неравенство (вывод см. ниже):

 

x* x

n

 

 

 

 

 

q

 

 

 

x

 

n

x

n 1

 

. Если

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 q

 

 

поставить условие, что истинное значение корня x*

 

 

 

 

 

 

 

 

 

 

 

 

 

должно отличаться от при-

ближенного

 

 

значения на

 

величину , т.е.

 

 

x* x

n

 

,

 

то

 

 

приближения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0 , x1,..., xn

 

надо вычислять до тех пор, пока не будет выполнено неравенство

 

q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

x

 

 

или

 

x

 

x

 

 

 

 

 

 

и тогда

x* x

 

 

.

 

 

 

1 q

 

n

n 1

 

 

n

n 1

 

 

 

 

q

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вывод

 

неравенства.

Рассмотрим

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

 

 

приближения:

xn xn 1

 

и xn 1 xn

 

. Отсюда xn 1 xn xn

xn 1

.

 

 

 

Используя теорему о среднем, получим:

xn 1 xn

 

f xn f xn 1 xn xn 1 f xn xn xn 1 ,

 

 

xn xn 1

7

тогда на основании условия

 

 

x

 

q 1 можно записать:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xn 1 xn

 

q

 

xn xn 1

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С

другой

 

стороны,

пусть

f x x x .

 

 

Очевидно, что

f

 

x 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

0 , получим

 

 

x 1 q. Отсюда, учитывая, что f x

 

 

 

 

xn xn

 

 

 

f xn f x*

 

 

 

xn x*

 

 

 

f xn

 

1 q

 

xn x*

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где xn xn , x* .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тогда

 

x

n

x*

 

 

 

xn xn

 

 

x

n

x*

 

 

 

 

 

x

n 1

x

n

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или

 

 

 

 

 

 

 

 

 

 

 

 

 

1 q

 

 

 

 

 

 

 

 

 

 

1 q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Используя предыдущую формулу, можно получить:

x

n

x*

 

 

 

q

 

x

n

x

n 1

 

.

(5)

 

 

 

 

 

 

 

 

 

 

 

q

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Перейдѐм к пределу в равенстве (3), в силу непрерывности функции (x) получим x* (x* ) , то есть x* – корень уравнения (2). Других корней на

a, b

нет,

так как если

x* (x* ) ,

 

то x* x* (x* ) (x* ) , тогда

 

*

 

*

 

 

 

0 , где

 

*

, x

*

 

 

 

(x

 

x

) 1

(c)

 

c x

 

 

.

Равенство нулю будет достигнуто,

если x* x* . То есть x* – корень единственный. Теорема доказана.

Приведение уравнения f x 0 к виду x (x)

для обеспечения выполнения неравенства x 1

В общем случае получить подходящую итерационную форму возможно, проведя равносильное преобразование исходного уравнения, например, умно-

жив его на коэффициент : f x 0. Прибавив затем к обеим частям урав-

нения x и обозначив x x f x можно потребовать выполнения доста-

точного условия 1 f x 1. Отсюда определяется необходимое значение

2 f

 

x 0, sign sign f

 

x . Так как условие

 

 

x

 

1 должно

 

 

 

 

 

 

 

выполняться на всем отрезке

a, b ,

то для выбора следует использовать

наибольшее значение f x на этом отрезке, т.е.

 

 

 

 

 

8

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

max f x , sign sign f

x . Это соотношение определяет

 

 

 

 

 

диапазон значений коэффициента , изменяющий величину x 1 f x в пределах 1; 1 .

 

Обычно принимают

 

 

 

 

 

1

 

 

 

 

, sign sign f

 

x .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

max f x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

На рис. 3–6 показаны четыре случая взаимного расположения линий y x

и y x

и соответствующие итерационные процессы. Рис. 3 и 4 соответст-

вуют случаю

 

 

 

1, и итерационный процесс сходится. При этом,

если

 

 

 

x

 

 

x 0

(рис. 3), сходимость носит

односторонний характер, а

если

 

 

x 0 (рис. 4), сходимость носит двусторонний, колебательный характер.

 

Рис. 5 и 6 соответствуют случаю

 

 

 

 

1 – итерационный процесс расхо-

 

 

 

x

 

 

дится. При этом может быть односторонняя (рис. 5) и двусторонняя (рис. 6) расходимость.

Рис. 3

Рис. 4

9

Рис. 5

Рис. 6

Погрешность метода. Оценка погрешности была доказана (5).

Критерий окончания. Из оценки (5) следует, что вычисления надо про-

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

 

x

n

x

n 1

 

 

1 q

. Если же

q 0,5, то

 

 

 

 

q

 

 

 

 

 

 

 

 

 

 

оценка упрощается:

 

xn xn 1

 

.

 

 

Пример 1. Используем метод простой итерации для решения уравнения f x sin x x2 0 с точностью 0,001. Преобразуем уравнение к виду:

 

x

sin x

,

т. е. x

sin x

.

 

 

 

 

 

 

 

x

 

 

x

 

Нетрудно

убедиться, что корень уравнения находится на

отрезке

/ 6, / 3 .

Вычислив значения

f x

на концах отрезка,

получим:

f / 6 0, а f / 3 0 , т. е. функция на концах отрезка имеет разные знаки,

поэтому внутри отрезка есть корень. Расположение корня наглядно иллюстрирует рис. 7.

10