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

644_Galkina_M.JU._Vychislitel'naja_matematika_

.pdf
Скачиваний:
2
Добавлен:
12.11.2022
Размер:
525.57 Кб
Скачать

x(0)

 

 

 

 

0.1

1

 

 

 

 

В качестве начального приближения возьмем X(0) x(0)

 

 

 

 

0

.

b

2

 

 

 

 

 

 

x(0)

 

 

 

 

 

 

 

 

 

1.2

 

3

 

 

 

 

 

 

Для метода простой итерации погрешность оценивается по формуле

C k 1

R b .

1 C

По условию точность должна быть меньше, чем 0.01. Получаем,

R0.8k 1 1.2 0.01, 1 0.8

R 0.8k 1 1.2 0.01, 0.2

0.8k 1 0.0017, ln(0.8k 1) ln(0.0017),

(k 1) ln0.8 ln(0.0017),

k 1 ln(0.0017), ln(0.8)

k 1 28.6, k 28.

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

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

3.1.Общие замечания

Будем искать решение уравнения f (х) = 0, где f (x) – некоторая непрерывная нелинейная функция. Нелинейные уравнения можно разделить на два класса: алгебраические и трансцендентные. Алгебраическими уравнениями называются уравнения, содержащие только алгебраические функции: целые, рациональные, иррациональные. В частности, многочлен является целой алгебраической функцией. Уравнения, содержащие тригонометрические, показательные, логарифмические и другие неалгебраические функции, называются

трансцендентными.

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

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

(интервала изоляции корня);

21

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

Приближенное значение корня (начальное приближение) может быть найдено различными способами: из физических соображений, из решения аналогичной задачи при других начальных данных, с помощью графических методов. Если такие оценки начального приближения произвести не удается, то находят две близко расположенные точки a и b, в которых непрерывная функция f (x) принимает значения разных знаков, т.е. выполняется условие: f (a) f (b) 0. В этом случае между точками a и b есть, по крайней мере, одна точка, в которой f (x) 0. В качестве начального приближения принимают одну из точек этого отрезка x0. Итерационный процесс состоит в нахождении последовательных приближений значений корня: x0, x1, xn. Если эти значения с ростом n приближаются к истинному значению корня, то итерационный про-

цесс сходится.

3.2.Метод деления пополам (метод бисекции)

Это один из простейших методов нахождения корней нелинейного уравнения. Пусть имеется интервал [а,b], на котором функция f (x) меняет свой знак, т.е. f (a) f (b)<0. В качестве начального приближения корня возьмем середину этого интервала: x0 = (a + b)/2. Далее выясняем, на каком из интервалов – [a, x0] или [x0,b] функция f меняет знак. В качестве нового интервала рассматриваем ту половину интервала [а,b], на которой происходит смена знака. В качестве нового приближения корня выбираем середину нового отрезка и т.д. Таким образом, после каждой итерации отрезок, на котором расположен корень, уменьшается вдвое, т.е. после n итераций начальный интервал уменьшится в 2n раз. Итерационный процесс продолжается до тех пор, пока длина интервала изоляции корня не станет меньше заданной точности. В качестве приближенного значения корня принимаем середину последнего интервала.

Достоинством метода деления пополам является то, что он обязательно сходится, хотя и медленно. При этом

x* xn

 

 

b a

,

(32)

 

 

2n

 

 

 

 

 

где x* - точное значение корня

Неравенство (32) позволяет оценить количество шагов n, необходимых для достижения заданной точности .

 

b a

,

 

 

 

 

 

 

2n

b a

 

2

n

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

n log2

b a

.

(33)

 

 

 

 

 

 

 

 

 

 

22

3.3.Метод хорд

Вметоде деления пополам интервал многократно делится пополам, а в методе хорд интервал делится на неравные части в отношении f (a): f (b).

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

В методе хорд процесс итераций состоит в том, что в качестве последовательности приближений к корню принимаются значения точек пересечения хорды, соединяющей точки a и b с осью Ox (рис. 2).

Найдем уравнение хорды AB:

y f (a)

 

x a

. Для точки пересечения

f (b) f (a)

 

 

 

b a

 

хорды с осью Ox (x = c, y = 0) получаем: x c a

 

b a

f (a).

 

 

0

 

 

f (b) f (a)

 

 

 

 

 

 

B

A

Рис. 2. Метод хорд

Из отрезков [a,c] и [c,b] выбираем тот, на котором функция меняет знак. Для рассматриваемого случая это отрезок [с,b]. Следующая итерация состоит в определении нового приближения как точки пересечения новой хорды с осью Ox и т.д. Повторяем процесс до тех пор, пока не будет достигнута заданная точность.

Оценку скорости сходимости в методе хорд дает следующая теорема.

Теорема 3

Если на интервале [a,b] функция f (x) непрерывна и дифференцируема, а ее производная f (x) на интервале [a,b] имеет постоянный знак (т.е. на [a,b] функция f (x) монотонна), то верна следующая оценка:

 

x* x

 

 

M1 m1

 

 

x

n

x

 

,

(34)

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

m1

 

 

n 1

 

 

 

*

 

 

 

 

 

 

 

 

 

 

 

min | f

 

 

M max | f

 

где x – точное значение корня,m

(x)|,

(x)|, х [a,b].

 

x [a,b]

 

 

 

 

 

x [a,b]

 

23

Следствие

Если отрезок [a,b] достаточно узок, т.е. M1 2m1, то

x* x

 

 

x

x

n 1

 

.

(35)

 

 

n

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

В этом случае итерационный процесс продолжается до тех пор, пока не будет выполняться условие: xn xn 1 , где – заданная точность.

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

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

Процесс производимых итераций метода пояснен на рис. 3. Составим уравнение касательной в точке (xn, f (xn)). Поскольку угловой коэффициент ка-

сательной

k f (xn)

и

касательная

проходит

через

точку

(xn, f (xn)), то уравнение касательной имеет вид:

y f (xn) f (xn) (x xn).

Рис. 3. Метод Ньютона

Для точки пересечения касательной с осью Ox (x =xn+1, y =0) получаем

0 f (xn) f (xn) (xn 1 xn),

 

 

 

x

 

 

x

n

 

f (xn)

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

f (xn)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

1

x

n

 

f (xn)

.

 

 

(36)

 

 

 

 

 

 

 

 

 

n

 

 

 

 

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(xn)

 

 

 

 

 

Теорема 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если функция f(x) дважды

непрерывна и дифференцируема на [a,b],

f

 

 

 

(x)

и

f

 

на [a,b] не меняют своих знаков (т.е. функция монотонна и выпукла

(x)

вверх или вниз), то погрешность метода Ньютона можно оценить по формуле:

 

 

 

 

 

x* x

 

 

 

M2

(x

n

x

)2,

(37)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

2m

n 1

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

где m

min | f

 

max | f

 

 

 

 

 

(x)|, M

2

(x)|.

 

 

 

 

1

x [a,b]

 

x [a,b]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

 

 

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

Следующая формула связывает погрешности двух последних приближений xn-1 и xn:

x* x

 

 

x

x

n 1

 

.

(38)

 

 

n

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

Иногда бывает затруднительно вычислять на каждом шаге f (xn). Если производная f (x) мало изменяется на отрезке [a,b], то в формуле Ньютона (36) можно положить f (xn) f (x0). Тогда получим формулу модифицированного метода Ньютона:

x

 

x

 

f (xn)

.

(39)

 

 

 

n 1

n

 

f (x0)

 

В этом случае касательные в точках (хn, f (xn)) заменяются прямыми, параллельными касательной в точке (х0, f (x0)). Модифицированный метод работает не хуже, чем метод Ньютона, но дает более медленную скорость сходимости.

3.5.Задание на лабораторную работу №3

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

Написать программу нахождения всех действительных корней нелинейного уравнения методом деления пополам с точностью 0.0001. Считается, что требуемая точность достигнута, если выполняется условие | xn 1 xn | ,

( – заданная точность), при этом x xn xn 1 . 2

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

Вариант 0: 2x3 3x2 12x 5 0. Вариант 1: x3 3x2 24x 3 0.

Вариант 2: x3 3x2 24x 10 0.

Вариант 3: 2x3 3x2 12x 10 0.

Вариант 4: x3 3x2 24x 10 0. Вариант 5: x3 3x2 24x 8 0. Вариант 6: 2x3 3x2 12x 1 0. Вариант 7: x3 3x2 24x 5 0. Вариант 8: x3 3x2 24x 1 0.

Вариант 9: 2x3 3x2 12x 12 0.

25

3.6.Методические указания к выполнению лабораторной работы №3

 

 

Рассмотрим нахождение интервалов изоляции действительных корней на

примере

 

уравнения

 

x3 2x2 4x 7 0. Найдем

производную функции

f

(x) x

3

2x

2

4x 7

и критические точки из условия

 

 

 

f (x) 0.

f

 

 

 

 

2

4x 4 0,

D ( 4)

2

4 3 ( 4) 64,

 

(x) 3x

 

 

 

 

x

4 8

 

2 4

,

x

2

,

x 2.

 

 

 

 

 

1,2

6

 

 

 

 

3

 

1

3

 

2

 

 

 

Составим таблицу знаков функции f (x):

x

 

-2/3

 

2

 

+

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

 

+

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

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

уравнение

имеет

три

действительных

корня:

x1 ]– ; –2/3[, x2 ]–2/3; 2[, x3 ]2; + [. Уменьшим промежутки, содержащие корни:

x

 

–2

 

-2/3

2

3

 

 

f (x)

 

 

+

+

 

 

Итак,

 

уравнение

имеет

три

вещественных

корня:

x1 ]–2; –2/3[, x2 ]–2/3; 2[, x3 ]2; 3[

4. ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ

4.1.Постановка задачи

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

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

Простейшая идея численного дифференцирования состоит в том, что функция заменяется интерполяционным многочленом (Лагранжа, Ньютона) и производная функции заменяется соответствующей производной интерполяцион-

ного многочлена.

 

 

 

 

Рассмотрим простейшие формулы численного дифференцирования,

кото-

рые получаются указанным способом.

 

 

Будем

предполагать,

что функция

задана в равностоящих

узлах

xi x0 ih,

h 0,

i 0, 1,

2, . Введем

обозначения значений функции

производных в узлах: f (xi) yi fi,

f (xi) fi ,

f (xi) fi .

Пусть известны значения функции

f0, f1в двух точках: x0 и x1 x0 h со-

ответственно.

 

 

26

Воспользуемся формулой линейной интерполяции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

y

y

 

 

f f

 

 

f (x) y0 q y0,q

 

 

 

 

0

. Тогда,

f (x) q y0

 

 

y0

 

 

1

0

 

 

1

 

0

.

 

 

 

h

h

 

h

 

h

 

 

 

 

 

В частности, при x = x1 получаем

f1 f0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(40)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Формула (40)

 

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

 

 

 

 

 

 

 

 

 

 

 

 

Если найти производную, используя линейную интерполяцию в точках x1 и

x2, то получим правую разностную производную:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

 

f2 f1

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(41)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть

 

задана в трех точках x0,

 

 

 

x1 x0 h,

x 1 x0

h.

Используя

квадратичную интерполяцию по формуле

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x) y

1

q y

1

 

q(q 1)

2y

 

,q

x x0

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2!

 

 

 

 

 

 

1

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

получаем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

1

 

 

2

 

 

 

 

1

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

f (x)

 

 

 

y 1

 

 

 

 

 

y 1(

 

 

(q 1) q

 

 

)

 

 

 

(2 y 1 (2q 1)

 

y 1)

 

 

 

 

 

 

h

2

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

h

 

 

 

2h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2 y

1

2q 2y

1

2y

1

)

 

(2(y

 

 

 

y

1

) 2q

2y

1

(y

2y

0

y

1

))

 

2h

2h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

1

(y y

1

2q 2y

1

).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2h

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В частности, при x = x0

получаем

 

f1 f 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f0

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(42)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Формула (42)

 

называется центральной разностной производной.

 

 

 

 

 

 

 

Наконец, если взять вторую производную, используя квадратичную интер-

поляцию, то получим формулу:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y1 2y0

y 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(y1 y 1

2q

y 1)

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

2h

 

 

 

 

 

 

 

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В частности, при x = x0 получаем

 

 

 

f1

2f0 fi 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

(43)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Формула (43) носит название второй разностной производной.

Формулы (40) – (43) называются формулами численного дифференцирова-

ния.

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

27

возникает из-за того, что значения уi известны не точно, а с некоторой погрешностью .

Оценим погрешность усечения. Предполагая функцию f достаточное число раз непрерывно дифференцируемой, можно получить погрешности усечения приближенных формул (40) – (43).

Для формулы (40):

R

 

h

M

 

,

 

 

 

где M

 

 

 

max

 

f x

 

.

 

 

 

 

(44)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

усеч

2

 

 

 

 

2

 

 

 

 

 

2

 

 

 

x0,x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для формулы (42):

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R

 

 

M

 

 

,

где M

 

 

 

max

 

f x

 

.

 

 

(45)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

усеч

6

 

 

 

 

 

3

 

 

 

 

3

 

 

x 1,x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для формулы (43):

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R

 

 

M

 

 

 

где M

 

 

 

 

 

f (4) x

 

.

 

 

 

4

,

4

 

max

 

 

 

 

(46)

 

 

усеч

12

 

 

 

 

 

 

 

 

 

 

x 1,x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Погрешности округления формул (40), (42), (43), соответственно равны

2 /h, /h,4 /h2.

Погрешность усечения при уменьшении h уменьшается, а погрешность округления, напротив, увеличивается (рис. 4). Поэтому шаг не следует брать слишком большим, чтобы погрешность усечения не была велика, и не следует брать слишком маленьким, чтобы не была велика погрешность округления.

y

Суммарная

погрешность

Погрешность

Погрешность

округления

усечения

 

hопт

h

Рис. 4. Оптимальный шаг дифференцирования Оптимальный шаг для формулы (40):

h

4

.

(47)

 

опт

M2

 

 

 

Оптимальный шаг для формулы (42):

28

h

3

3

.

 

 

(48)

 

 

опт

 

M3

 

Оптимальный шаг для формулы (43):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

2 4

3

.

(49)

 

опт

 

 

 

M4

 

 

 

 

 

 

Пример 10

По таблице значений функции f (x) найти оценку первой производной в

точке

0.5.

Оценить

погрешность,

если известно, что

f

 

при

(x) 2.5

x [0.4;0.8].

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

0.4

 

0.6

0.8

 

 

 

 

 

 

y

0.400

 

1.485

2.680

 

 

 

 

 

 

По

формуле

(42)

при h = 0.1 получаем

 

 

f (0.5)

f

(0.6) f (0.4)

 

1.485 0.400

5.425.

 

 

 

 

 

 

 

 

 

 

 

 

2 0.1

0.2

 

 

 

 

Погрешность усечения оценим по формуле (45): Rусеч 0.12 2.5 0.005.

6

f (0.5) 5.425 0.005

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

4.2.Задание на лабораторную работу №4

Известно, что функция f (x) удовлетворяет условию | f (x)| c при любом x. Измерительный прибор позволяет находить значения f (x) с точностью 0.0001. Найти наименьшую погрешность, с которой f (x) можно найти по при-

ближенной формуле: f (xi) f (xi 1) f (xi 1) . Рассчитать шаг для построения

2h

таблицы значений функции, которая позволит вычислить значения f (x) с наименьшей погрешностью.

Составить программу, которая:

1.Выводит таблицу значений функции с рассчитанным шагом h на интер-

вале [c h, c + 21h].

2.

По составленной таблице

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

f

 

в точках

(x)

 

xi

c ih (i 0,1,2, ,20).

 

 

 

 

3.

Выводит значения xi (i = 0,1, 20)., приближенные и точные значения

 

 

(x) в точках xi.

 

 

 

 

 

f

 

 

 

 

29

Для построения таблицы взять функцию f (x)

1

cos(cx), где

c2

 

 

c 3 (0.1(N 1))3, N – последняя цифра зачетной книжки. Точное значение

производной f (x) 1 sin(cx). c

4.3.Методические указания к выполнению лабораторной работы №4

Рассмотрим пример расчета оптимального шага дифференцирования при

c 24. Тогда

f (x)

1

 

 

cos(24x),

| f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

576

 

 

(x)| 24.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Из формулы для расчета оптимального шага следует, что h

 

 

3

3

 

, где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

опт

 

 

 

 

 

M3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M

 

max | f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

3 0.0001

 

0.023.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

[x ,x

 

]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

опт

 

 

 

 

 

 

 

 

24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h погрешность

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При

оптимальном

 

шаге

 

дифференцирования

 

 

составит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h2

 

 

 

 

M

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

M

 

2

 

 

 

 

 

M

 

2

3

 

 

M

 

2

 

 

 

 

 

 

3

 

 

 

 

3

 

 

M

 

 

 

3

 

 

 

 

 

3

 

 

3

R

 

M3

 

 

 

 

 

 

3

 

 

 

 

3

 

3

 

 

 

 

3

 

 

 

 

 

 

3

 

 

 

 

 

 

3

 

 

 

 

 

.

6

 

 

 

 

 

3

2

 

 

 

 

3

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

h 6

M3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

3

 

 

 

 

При рассчитанном оптимальном шаге h = 0.023 погрешность дифференци-

рования R 33 24 0.00012 0.006 0.01.

23

5.ОДНОМЕРНАЯ ОПТИМИЗАЦИЯ

5.1.Постановка задачи

Требуется найти

наибольшее

(или наименьшее) значение функции

y f (x), заданной на

множестве ,

и определить значение x , при котором

целевая функция принимает это экстремальное значение. Если в качестве взять отрезок [a,b] и функция f (x) непрерывна, то по теореме Вейерштрасса функция имеет на [a,b] наибольшее и наименьшее значение. В этом случае задача оптимизации имеет решение (возможно, не единственное).

Пусть функция f (x) дифференцируема на [a,b] и может быть найдено явное выражение для ее производной f (x). Тогда f (x) достигает своего наибольшего и наименьшего значения либо в граничных точках x = a, x = b, либо в одной из критических точек, где f (x) 0. Следовательно, для определения наибольшего или наименьшего значения такой функции нужно вычислить ее значения во всех критических точках, в граничных точках и выбрать из полученных значений наибольшее и наименьшее. При нахождении критических точек возможно применение численных методов решения уравнения.

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

30