книги / Несущая способность конструкций в условиях теплосмен
..pdfУсловия применимости метода простых итераций определяются теоремой: если функция φ(х) на отрезке А удовлетворяет условию Липшица60 с константой 0 < С < 1, причем
ϕ(a) − a ≤ (1− C)r.
то уравнение (3.2) имеет на отрезке А единственное решение x, ме-
тод |
простой итерации x(s+1) = ϕ(x(s) ) сходится к x при любом |
|||||||
x(0) |
A и имеет место оценка |
|||||||
|
|
x(n) − x |
|
≤ Cn |
|
x(0) − x |
|
. |
|
|
|
|
|
Предполагается, что рассматривается отрезок длиной 2r с центром в точке a: A = {x x − a ≤ r}.
11.2.3. Метод Ньютона
Для поиска корней уравнения (11.3) в окрестности искомого решения x выбирается произвольная точка x и функция f(x) раскладывается в ряд Тейлора61 возле этой точки:
f (x) = f (x) + fx′ (x)(x − x) + ... .
Отсюда следует приближенное равенство
f (x) ≈ f (x) + fx′ (x )(x − x),
котороесучетомтребования f (x ) = 0 позволяетполучитьвыражение x ≈ x − f (x) fx′ (x),
60 Липшиц Рудольф Отто Сигизмунд (14.05.1832–07.10.1903) – немецкий математик, профессор Боннского университета. Основные работы в области математического анализа, теории дифференциальных уравнений, теоретической механики и алгебры.
Функция удовлетворяет условию Липшица на отрезке [a, b], еслиx1, x2 [a,b] ϕ(x2 ) − ϕ(x1 ) ≤ C x2 − x1 , C > 0 – константа [13].
61 Тейлор Брук (18.08.1685–29.12.1731) – английский математик, член Лондонского королевского общества.
141
приводящее к итерационному процессу следующего вида:
x(s+1) = x(s) − f (x(s) ) fx′(x(s) ).
Если ввести обозначение
ϕ (x) = x − f (x) f ′ (x),
то метод Ньютона можно рассматривать как вариант метода простых итераций.
Условия применимости метода Ньютона определяются теоремой: если выполнены предположения, что
–x – корень уравнения f(x) = 0;
|
|
– |
первая производная |
fx′ ≠ 0 x A = {u |
|
|
|
u − x |
|
< r} ; |
||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||
|
|
– |
вторая производная |
xx |
( |
x |
) |
непрерывна в А; |
|
|
|
|
|
|
||||||||||||
|
|
f ′′ |
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
– |
константа C = M2 |
|
x(0) − x |
|
/ 2M1 < 1, где M1 |
|
= inf |
|
fx′(x) |
|
> 0, |
|||||||||||||
|
|
|
|
|
|
|
||||||||||||||||||||
M |
2 |
= sup |
|
f ′′ |
( |
x |
) |
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
x A |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
x A |
|
xx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
тогда если x(0) |
A, то метод Ньютона сходится, причем |
x(n) − x ≤ C2n −1 x(0) − x .
Геометрическая иллюстрация итерационного процесса метода Ньютона приведена на рис. 11.7.
f(x0)
|
|
f(x1) |
|
|
|
f(x2) |
|
α |
x |
|
|
|
|
|
x3 |
x2 |
x1 |
|
x0 |
Рис. 11.7. Геометрический смысл процедуры метода Ньютона
142
Из схемы следует, что каждое следующее приближение может быть также определено из геометрических построений:
x(s) − x(s+1) = f (x(s) )tg α = f (x(s) ) fx′(x(s) ).
Пример. Найти корень уравнения 2x + sin х − 1 = 0 методом Ньютона.
Согласно методу Ньютона, строится итерационная процедура
x(s+1) = x(s) − f (x(s) ) fx′(x(s) ).
Поскольку fx′ (x) = 2 + cos х , формула метода Ньютона принимает вид
x(s+1) = x(s) − 2x(s) + sin x(s) −1 |
2 + cos x(s) . |
||
|
|
|
|
Результаты расчетов приведены в табл. 11.6.
Таблица 11.6
Построение приближенного решения уравнения 2x + sin х − 1 = 0 методом Ньютона при разных начальных значениях x(0)
Номер итерации |
Приближения решения |
|
|
0 |
x(0) = 0,0 |
x(0) = 0,5 |
x(0) = 1,0 |
1 |
0,333 333 3 |
0,333 393 0 |
0,275 097 7 |
2 |
0,335 417 8 |
0,335 417 8 |
0,335 239 4 |
3 |
0,335 418 0 |
0,335 418 0 |
0,335 418 0 |
4 |
0,335 418 0 |
0,335 418 0 |
0,335 418 0 |
11.2.4. Модификации метода Ньютона
Одна из модификаций метода Ньютона заключается в том, что производная функции f(x) определяется только один раз для начальной точки x0 итерационного процесса (рис. 11.8, а):
x(s+1) = x(s) − f (x(s) ) fx′(x(0) ).
143
При таком способе решения уравнения скорость сходимости последовательности получаемых решений уменьшается, иногда существенно. Эту модификацию метода целесообразно применять в том случае, когда вычисление производной функции или самой функции связано с большими затратами вычислительных ресурсов (времени, оперативной памяти) либо когда аналитический вид функции f(x) неизвестен, и тем более неизвестен вид ее производной f’(x), что часто бывает при решении прикладных инженерных задач. Кроме того, практически всегда можно подобрать начальное значе-
ние x(0) таким образом, что f ′(x(0) ) ≠ 0 , то есть аварийная остановка
вычислительного алгоритма исключена.
Другая модификация (метод секущих) заключается в замене производной функции f(x) ее разностным аналогом (рис. 11.8, б):
x(s+1) = x(s) − f (x(s) )(x(s) − x(s−1) ) |
f (x(s) )− f (x(s−1) |
) . |
|
|
|
В этом случае получается двухточечная схема, то есть для начала расчетов необходимо задать две начальные точки: x(0) и x(1) .
f(x0)
f(x1)
f(x2) f(x3)
x
x4 x3 x2 x1 |
x0 |
а
f(x0)
f(x1)
f(x2)
x
x3 |
x2 |
x1 |
x0 |
б
Рис. 11.8. Схемы модифицирования метода Ньютона: a – с начальным значением касательной; б – метод секущих
144
Возможно, что на заданном отрезке может оказаться несколько корней. В этом случае итерационный процесс позволит вычислить какой-то один корень уравнения. Для отделения корней в некоторых случаях можно воспользоваться следующим приемом. Пусть найден корень x1 . Строится функция
|
|
|
f1 (x) = f (x) (x − x1 ). |
|
|
|
|
||||||
Вычисление предела |
lim f |
(x) = lim f (x) (x − x ) |
приводит |
||||||||||
|
|
|
|
x→x 1 |
|
|
x→x |
|
|
|
1 |
|
|
|
|
|
|
|
1 |
|
|
1 |
|
|
|
|
|
к неопределенности типа 0 0 . Согласно правилу Лопиталя62 [3], |
|||||||||||||
lim f |
x |
) |
= lim |
f |
′(x) |
( |
x − x ′ |
|
= |
f ′ |
x |
|
|
x→ x 1 ( |
|
x→ x |
|
x |
|
1 ) |
|
|
1,x ( |
1 ) |
|
||
1 |
|
|
1 |
|
|
|
|
x |
|
|
|
|
|
при условии ограниченности значения производной функции, то есть в случае f (x) C[1x0 , x1 ] . При отсутствии кратных корней новая
функция и «слева», и «справа» от точки x1 будет иметь один и тот же знак. После нахождения следующего корня x2 строится новая функция f2 (x) = f (x)(x − x1 )(x − x2 ) , и т.д.
11.3. Аппроксимация результатов экспериментальных исследований
Под аппроксимацией функции f (x ) , заданной произвольным
образом (поточечно, таблично или иным способом), понимается построение функции ϕ (x), в том или ином смысле близкой к f (x )
и дающей ее приближенное представление.
При решении прикладных инженерных задач нередко возникает необходимость приближенной замены функции f (x ) некото-
рой комбинацией известных функций, вычисление которых проще организовать. Частный случай аппроксимации функции – задача
62 Лопиталь Гийом Франсуа Антуан де (1661–1704) – французский математик, автор первого печатного учебника по дифференциальному исчислению.
145
интерполирования – состоит в том, чтобы функцию f (x ) , извест-
ную лишь в узлах некоторой сетки на заданном отрезке, то есть определенную в виде таблицы (например, табл. 11.7),
f (xi ) = fi , i = 0, n , приблизить непрерывной на этом отрезке функцией ϕ(x)63, которая в точках xi совпадает с заданными табличными значениями:
ϕ (xi ) = f (xi ), i = |
|
. |
(11.4) |
0, n |
Функция ϕ(x) может определяться, например, следующим образом:
m
ϕ(x) = ak ϕk (x),
k =0
где ϕk (x ) – набор линейно независимых функций, например полиномов:
ϕ (x) = a0 + a1 x + a2 x2 + + am xm .
Очевидно, что в задачах о наилучшем приближении и интерполировании функция ϕ(x) определяется набором параметров ak , k = 0, m , от которых зависит линейно. Если число координатных точек n, в которых задана функция f (x ) , совпадает с количеством
m функций ϕk(x), то есть n = m, можно сформировать систему линейных алгебраических уравнений
m
ak φk (xi ) = f (xi ), i = 0,m ,
k =0
относительно неизвестных коэффициентов ak , k = 1, m .
Для существования единственного решения этой системы алгебраических уравнений требуется, чтобы главный определитель этой системы
63 В дальнейшем вместо ϕ(x) могут быть использованы обозначения Pm(x),
Lm(x) и др.
146
|
ϕ0 |
(x0 ) |
ϕ1 |
(x0 ) ϕm (x0 ) |
|
||
|
|
||||||
= |
ϕ0 |
(x1 ) |
ϕ1 |
(x1 ) ϕm (x1 ) |
|
||
|
|
|
|
|
|
||
|
ϕ0 (xm ) ϕ1 (xm ) ϕm (xm ) |
|
|||||
был отличен от нуля, то есть |
≠ 0 . |
|
|
|
11.3.1. Интерполяция степенными функциями
Пусть в качестве системы функций ϕk (x ) рассматриваются полиномы
|
|
|
|
ϕk (x) = xk , |
k = |
|
. |
|
|
|
|
|
||
|
|
0, m |
|
|
|
|
|
|||||||
В этом случае принимает вид определителя Вандермонда64 |
||||||||||||||
|
|
|
|
1 |
x0 |
x02 |
x03 x0m |
|
|
|
|
|||
|
|
|
|
|
|
|
||||||||
|
|
= |
|
1 |
x1 |
x12 |
x13 x1m |
, |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
1 |
xm |
xm2 |
xm3 xmm |
|
|
|
|
|||
причем |
≠ 0 , |
если среди множества точек |
xk , |
k = |
|
, |
нет совпа- |
|||||||
0, m |
||||||||||||||
дающих. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Pm (x) = |
В |
этом |
случае |
интерполяционный |
многочлен |
||||||||||
m |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= ak xk = a0 + ak x + + am xm |
всегда существует и определен един- |
k =0
ственным образом.
11.3.2. Интерполяционный полином Ньютона
Для произвольно заданной функции f(x) определяются разде-
ленные разности:
– первая разделенная разность
64 Вандермонд Александр Теофиль (28.02.1735–01.01.1796) – французский математик, член Парижской академии наук.
147
f(xi , xj ) = f (xi ) − f (xj ) (xi − xj );
–вторая разделенная разность
f (xi , xj , xk ) = f (xi , xj )− f (xj , xk ) (xi − xk );
– третья разделенная разность
f (xi , xj , xk , xl ) = f (xi , xj , xk )− f (xj , xk , xl ) (xi − xl )
и т.д.
Первая разделенная разность является разностным аналогом
первой производной функции f(x) на отрезке |
x , x |
|
. Вторая разде- |
|
i |
j |
|
ленная разность f (xi , xj , xk ) аппроксимирует вторую производную функции f(x) на отрезке [xi , xk ]. Соответственно, третья разделенная
разность – аналог третьей производной на отрезке |
[xi , xl ] , и т.д. |
|||||||||||||||||||||||||||||||||||||||||||
Пусть Pm (x) |
– искомый интерполяционный многочлен. Разделен- |
|||||||||||||||||||||||||||||||||||||||||||
ные разности для этого полинома имеют вид: |
|
|
|
|
0 ) |
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
m |
|
( |
|
0 ) |
= |
|
m ( |
x |
) |
|
|
|
m |
( |
|
0 ) |
( |
|
|
|
|
; |
|
|
|
|
||||||||||
|
|
|
m ( |
|
P |
|
|
x, x |
|
|
|
P |
|
|
|
− P x |
|
|
|
|
|
x − x |
1 ) |
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
0 |
|
1 ) |
= |
|
|
m ( |
x, x |
0 ) |
|
|
|
m ( |
0 |
|
1 ) |
( |
|
|
; |
|
|
||||||||||||||||
|
( |
P |
|
|
x, x , x |
P |
|
|
|
− P |
|
x , x |
|
|
|
|
x − x |
2 ) |
|
|||||||||||||||||||||||||
m |
x, x |
0 |
|
|
1 |
, x |
2 ) |
|
|
m ( |
|
0 |
|
|
1 ) |
|
|
|
m ( |
|
0 |
1 |
, x |
2 ) |
( |
x |
− x |
… . |
||||||||||||||||
P |
|
|
, x |
|
|
|
= P |
|
|
x, x |
, x |
|
|
− P |
|
x , x |
|
|
|
|
|
|||||||||||||||||||||||
Отсюда получается выражение для полинома в виде |
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
m ( |
|
0 ) |
Pm (x) = Pm (x0 ) + (x − x0 )Pm (x, x0 ) = |
|
1 ) |
|
||||||||||||||||||||||||||||||||||||
|
|
x |
+ |
( |
x − x |
0 ) |
m |
( |
|
0 |
|
|
|
1 ) |
+ |
( |
x |
|
1 ) |
|
m ( |
|
0 |
= |
||||||||||||||||||||
|
= P |
|
|
|
|
|
|
|
P |
x |
, x |
|
|
− x P |
|
x, x |
, x |
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
m ( |
0 ) |
+ |
( |
|
|
0 ) |
|
|
m ( |
|
0 |
|
|
1 ) |
+ |
|
( |
x |
|
1 ) |
× |
|
|
|
|
|||||||||||
|
|
|
|
|
= P x |
|
x − x |
|
|
P |
|
x , x |
|
|
|
− x |
|
|
|
|
×{Pm (x0 , x1 , x2 ) + (x − x2 )Pm (x, x0 , x1 , x2 )} = .
Иначе это выражение можно записать в форме
Pm (x ) = Pm (x0 ) + (x − x0 )Pm (x0 , x1 ) +
148
+(x − x0 )(x − x1 )Pm (x0 , x1 , x2 ) + (x − x0 )×
×(x − x1 )(x − x2 )Pm (x, x0 , x1 , x2 ) + .
Эта цепочка конечна и содержит m + 1 слагаемое.
Пример. Построить интерполяционный полином Ньютона для функции sin х на отрезке [0, π/2].
В табл. 11.7 приведены значения заданной функции и ее разделенные разности в узлах разностной сетки на указанном отрезке.
Аппроксимация заданной функции с помощью интерполяционного полинома Ньютона имеет вид
3 ( |
x |
) |
= 0 |
+ |
( |
x − 0 |
) |
+ |
( |
x − π 6 |
) |
× |
P |
|
|
0,954 930 |
|
|
×{−0, 244 340 + (x − π3)(−0,113 872)} =
=0,954 930x − 0, 244 340x (x − π6) − 0,113 872x (x − π6)(x − π3) =
=1,020 43x − 0,065 470 3x2 − 0,113872x3.
Для аргумента x = π4 , отсутствующего в таблице, построенный полином принимает значение, равное 0,705 889. Точное значение этой функции в точке x = π4 равно 0,707107. Относительная
погрешность аппроксимации функции sin х с помощью интерполяционного полинома Ньютона составляет 0,172 %.
Таблица 11.7 Таблица интерполяции функции sin х по четырем точкам
|
|
|
|
|
f (xi , xi+1 , xi+2 , xi+3 ) |
|
|
|
xi |
f (xi ) |
f (xi , xi +1 ) |
f (xi , xi+1 , xi+2 ) |
|
||
|
0 |
0 |
|
|
|
|
|
|
|
|
0,954 930 |
|
|
|
|
|
π/6 |
0,5 |
|
–0,244 340 |
–0,113 872 |
|
|
|
|
|
0,699 057 |
|
|
|
|
|
π/3 |
0,866 025 |
|
–0,423 210 |
|
|
|
|
|
|
0,255 873 |
|
|
|
|
|
π/2 |
1,0 |
|
|
|
|
|
149
Пример. Определить корень уравнения f (x) = (1+ x)ex2 −
− 2,5 = 0 методом обратной интерполяции.
Идея метода обратной интерполяции заключается в построении полинома Ньютона для функции, обратной к заданной зависимости f (x ) , то есть x ( f ) , и вычислении значения x при f = 0.
|
|
|
|
Таблица 11.8 |
Таблица для построения обратной интерполяции функции x(y) |
||||
|
|
|
|
|
fi |
x ( fi ) |
x ( fi , fi+1 ) |
x ( fi , fi+1 , fi+2 ) |
x ( fi , fi +1 , fi+2 , fi +3 ) |
–1,083 564 |
0,25 |
|
|
|
|
|
0,490 578 |
|
|
–0,573 962 |
0,50 |
|
–0,077 430 |
|
|
|
0,403 098 |
|
0,013 912 |
0,046 235 |
0,75 |
|
–0,051 262 |
|
|
|
0,332 798 |
|
|
0,797 443 |
1,0 |
|
|
|
Особенность данного случая – необходимость построения полинома Ньютона для обратной функции x ( f ) на сетке с переменным
шагом по координате fi . В табл. 11.8 приведены значения заданной
функции и ее разделенные разности в узлах разностной сетки. Интерполяционный полином Ньютона для обратной функции
имеет вид
x( f ) = 0, 25 + ( f + 1,083 56)[0, 490 58 +
+ ( f + 0,573 96){−0,077 43 + ( f − 0,046 24)(0,013 91)}].
Для f = 0 получается x(0) = 0,733 018. Точное решение заданного уравнения x = 0,732 941. Относительная погрешность вычисления корня равна 0,0105 %.
150