Выч.мат
..pdfПример 4. Вычислить 2 с двумя правильными значениями после запятой.
Решение. Пусть y0 =1,5 , x = 2, тогда
|
|
1 |
|
|
2 |
|
|
|
|
1 |
|
|
2 |
|
=1,414 . |
|
y1 |
= |
|
1,5 |
+ |
|
|
=1,4166, |
y2 |
= |
|
1,4166 |
+ |
|
|
||
2 |
1,5 |
2 |
1,4166 |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
Поскольку вторая цифра не меняется, то |
2 =1,41. |
|
|
|||||||||||||||||
2.2. Вычисление кубического корня. Пусть y = 3 x . Тогда имеем |
||||||||||||||||||||
|
|
|
|
F(x, y)= y3 − x , |
|
|
Fy′ (x, y)= 3y2 . |
|||||||||||||
Рекуррентная формула приобретает вид |
2 yn3 + x |
|
|
|
|
|||||||||||||||
|
|
|
|
|
yn+1 = yn |
− |
yn3 |
− x |
= |
|
1 |
|
. |
|
|
|||||
|
|
|
|
|
3 yn2 |
|
|
3 |
|
yn2 |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Пример 5. |
Вычислить 3 10 с тремя правильными знаками после |
|||||||||||||||||||
запятой. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Решение. Полагаем y0 = 2 , x = 10. Тогда |
|
|
|
|
|
|||||||||||||||
y = |
1 |
|
2 8 +10 |
= 2,167, |
|
y |
2 |
= |
1 |
|
2 10,2 +10 |
= |
30,4 |
= 2,151 . |
||||||
|
|
|
|
|
|
|||||||||||||||
1 |
3 |
|
|
4 |
|
|
|
|
3 |
|
|
|
|
4,71 |
|
|
3 4,71 |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Следующие приближения дают y3 = 2.1544, y4 = 2.1544. С указанной точностью значение 3 10 = 2,154.
2.3. Вычисление корня m–ой степени. Пусть есть функция y = m x .
Полагаем F(x, y)= ym − x . Тогда Fy′ (x, y)= mym−1 . Итерационная формула имеет вид
yn+1 |
= yn − |
ynm − x |
= |
1 |
|
(m −1)ynm + x |
. |
|
mynm−1 |
m |
|
ynm−1 |
|||||
|
|
|
|
|
||||
Пример 6. Вычислить 5 10 |
с тремя правильными знаками после |
запятой.
Решение. x = 10, m = 5. Корень лежит между 1 и 2. Если выбрать y0 = 1 то y1 > 2. Поэтому выбираем y0 = 2. Тогда
y1 |
= |
1 |
|
4 32 +10 |
= |
138 |
= 1,725 , |
y2 |
= |
1 |
|
4 (1,725)5 + 10 |
=1,6059 . |
|
5 |
16 |
80 |
5 |
(1,725)4 |
||||||||||
|
|
|
|
|
|
|
Следующие итерации дают y3 = 1.5854, y4 = 1.5849, y5 = 1.5849. С
учетом округления 5 10 =1,585.
11
2.4. Сходимость итерационного процесса. Итерационный процесс
(8) – это алгоритм поиска корня уравнения F(x, y) = 0, т.е. точки пересечения графика F(x, y) с осью y. Формула (8) имеет простой геометрический смысл. Построим график F(x,y) в зависимости от y (x здесь играет роль постоянного параметра). Пусть y0 − начальное приближение. Из геометрического смысла параметров, входящих в соотношение (8),
Fy′ ( y0 ) = tgα , y0 − y1 = F ( y0 ) / tgα
находим, что на первом этапе приближение y1 определяется как точка пересечения касательной к F(y) в точке y0 с осью y (рис.1).
F(y) |
|
|
|
|
|
|
F(y0) |
|
|
α |
y |
y |
y2 |
y1 |
y0 |
|
Рис.1 |
|
|
В следующем приближении эта процедура повторяется, и в случае сходимости последовательность yn стремится к точке пересечения
функции F(y) с осью y. Итерационный процесс (8) сходится к решению y , если
yn+1 − y |
|
|
|
′′ |
|
|
|
|
|
|
|
||||
|
= |
|
FFyy |
|
< 1 . |
(10) |
|
|
|
|
|
|
|||
yn − y |
|
(Fy′ )2 |
|
||||
|
|
|
|
В частности, для процедуры вычисления квадратного корня согласно итерационному процессу (9) это дает следующее условие
сходимости ( y = x F = y2 − x F ′ = 2 y F ′′ = 2 ):
| y2 − x | < 2 y2 .
Отсюда находим, что все точки yn (n = 0,1,2,…) должны лежать в
области y > y / 3 , где y = x .
Следует иметь в виду, что неравенство (10) является достаточно жестким условием, которое выделяет только область монотонной сходимости последовательности yn (n = 0,1,2,…). Действительно, соотношение
12
| yn+1 − y | < | yn − y | означает, что каждое последующее приближение расположено ближе к точному значению y , чем предыдущее. И дан-
ный пример показывает, что условие монотонной сходимости (10) может определять не всю возможную область сходимости. В действительности итерационный процесс (9) вычисления квадратного корня сходится при всех y0 > 0 .
F(y)
y0 |
y |
y2 |
y1 |
y |
Рис.2 Как видно из рис.2, если в качестве начального приближения выбрать
точку y0 левее значения y , то после первой же итерации значение y1
попадает в область монотонной сходимости, причем на первой итерации монотонности может и не быть. Здесь немонотонность сходимости итерационного процесса можно включить в рассмотрение следующим образом. К обеим частям равенства (9) добавим величины
x и − x . После элементарных преобразований получим два равен-
ства: |
|
yn − x = (yn−1 − x )2 / 2 yn−1 |
|
|||||||||||
|
|
|
||||||||||||
|
|
yn + x = (yn−1 + x )2 / 2 yn−1 |
|
|||||||||||
После почленного деления этих равенств находим |
|
|||||||||||||
y |
n |
− x |
= |
y |
n−1 |
− |
|
x |
|
2 |
|
n =1,2,... |
(11) |
|
|
|
|
|
|
|
|
|
|
|
|||||
yn + x |
|
|
|
+ |
|
x |
|
|
|
|
|
|||
|
yn−1 |
|
|
|
|
|
|
|||||||
Рекуррентное соотношение (11) |
позволяет связать yn |
с начальным |
||||||||||||
приближением y0: |
|
|
|
|
|
|
|
|
|
|
|
|
2n |
|
|
|
y |
|
− |
x |
|
y |
|
− |
|
x |
|
|
|
|
|
n |
= |
0 |
|
|
|
|||||||
|
|
y |
+ |
x |
|
+ |
|
x |
. |
|
||||
|
|
n |
|
y |
0 |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Отсюда находим отклонение yn от x :
13
yn − x = 2 x |
q 2n |
, |
q = y0 |
− |
x . |
(12) |
|
1 − q 2n |
|
y0 |
+ |
x |
|
Итерационный процесс сходится, если |q| < 1, т.е. y0 > 0. Из равенства (12) видно, что независимо от начального приближения y0 все yn ≥
x , если n ≥ 1, и для этих элементов последовательности имеем
|
|
1 |
|
x |
|
|
y2 |
− x |
|
|
yn − yn+1 |
= yn − |
|
|
|
|
= |
n |
|
≥ 0 |
, n = 1,2,... |
|
|
|
|
|||||||
2 |
yn + |
|
|
2 yn |
||||||
|
|
|
yn |
|
|
|
Таким образом, здесь гарантированная монотонная сходимость процесса имеет место лишь при n ≥ 1.
Задачи
1.Пользуясь разложением в ряд функции f(x) = sin x, найти степенную функцию, аппроксимирующую f(x) в промежутке 0 ≤ x ≤ 1 с четырьмя правильными знаками.
2.Пользуясь разложением в ряд функции f(x) = ch x, найти степен-
ную функцию, аппроксимирующую f(x) в промежутке 0 ≤ x ≤ 1 с точностью ε = 10 − 3.
3. Используя разложение функции Бесселя Jn(x) в ряд
x |
n ∞ |
(−1)k |
x |
|
2k |
|||
J n (x) = |
|
|
∑ |
|
|
|
|
, |
2 |
|
2 |
||||||
|
|
k =0 k!(k + n)! |
|
|
построить степенную функцию, аппроксимирующую J1(x) в промежутке 0 ≤ x ≤ 2 с точностью ε = 10 − 4.
4. Определить количество слагаемых в рядах
∞ |
1 |
|
∞ |
(−1) |
n |
|
a) ∑ |
, |
b) ∑ |
|
, |
||
|
n2 |
|
||||
n=1 n2 |
|
n=1 |
|
|
необходимое для вычисления суммы с точностью ε = 10−4. 5. Показать, что для ряда
∑∞ n13
n=1
остаток равен
Rn = n(n1+ 1) + o(1 / n2 ) .
6. Для вычисления значения обратной величины y = 1/x, согласно формуле (7), можно построить итерационный процесс
14
yn+1 = yn (2 − xyn),
если выбрать F(x,y) = x – 1/y. Найти условия, при которых этот процесс сходится.
7. Показать, что итерационный процесс вычисления квадратного
корня y = x вида yn+1 = x/yn не сходится.
8. Найти условие сходимости итерационного процесса вычисления корня y = x по формуле
|
|
y |
n |
|
|
|
y 2 |
|
|
|
yn+1 |
= |
|
|
3 |
− |
n |
|
, n =0,1,... |
||
2 |
x |
|||||||||
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
Ответы и указания.
1 – 3. Воспользоваться оценками погрешности (2), (4) и (5).
1. f(x) = x – 0.16667 x3 +0.00833 x5 – 0.0002 x7.
4. a) n = 10000, b) n = 100. 6. y0 < 2/x. 8. y0 < 3x .
III.Интерполяция функций и погрешность интерполяции
1. Постановка задача интерполяции
Задача интерполяции ставится следующим образом. Пусть на числовой прямой заданы n+1 точка x0, x1, …, xn, которые называются узлами интерполирования. И пусть в узлах заданы значения функций f0, f1, …, fn, где fi = f(xi). Необходимо найти многочлен Ln(x) степени не выше n, значения которого в узлах совпадают со значениями исходной функции, т.е.
Ln (xi ) = fi , |
i =0, 1, ..., n . |
(1) |
Многочлен Ln(x) называется интерполяционным многочленом и для табличной функции fi этот многочлен дает непрерывный аналог функции. Совокупность точек xi, i = 0,1,.., n называется сеткой, расстояние между соседними точками xi+1 –xi = hi есть шаг, и если точки расположены на равных расстояниях друг от друга, т.е. xi+1 – xi = h = const, то сетка называется равномерной.
В лагранжевой интерполяции предполагается, что все узлы различны, следовательно, их можно упорядочить в монотонную последовательность x0 < x1 < …< xn ( или x0 > x1 > …> xn). Далее будут рассматриваться такие последовательности узлов.
2. Интерполяционный многочлен в форме Лагранжа.
Такая задача имеет единственное решение и интерполяционный многочлен, записанный в форме Лагранжа, имеет вид:
15
n |
n |
x − x |
j |
|
|
Ln (x)= ∑ fi ∏ |
|
≈ f (x). |
(2) |
||
|
|
||||
i=0 |
j=0 |
xi − x j |
|
||
|
j≠i |
|
|
|
|
Если функция f(x) задана аналитически, то многочлен Лагранжа в диапазоне [x0, xn ] дает приближение исходной функции
Ln (x) ≈ f (x) |
(3) |
при условии, что в узлах выполняется (1). Геометрически это означает, что в соответствии с (2) через узловые точки проводится алгебраическая кривая вида (рис. 3):
Ln (x) = a0 xn + a1 xn−1 +... + an .
Многочлен Лагранжа построен, исходя из предположения, что значение многочлена в узле совпадает со значением функции. В про-
межутках между узлами Ln (x) и f (x) могут отличаться, и для от-
клонения между этими функциями (погрешность интерполяции) имеет место оценка
R |
|
(x) = |
|
f |
(x)− L |
|
(x) |
|
≤ |
M n+1 |
|
|
ω |
|
(x) |
|
|
(4) |
|||
|
|
|
|
|
|
|
|||||||||||||||
n |
|
n |
|
(n + 1)! |
n |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
M n+1 = |
|
f (n+1)(x) |
|
, ωn (x) = (x − x0 )(x − x1 ).....(x − xn ). |
|
||||||||||||||||
|
|
|
В частности, как следует из (4), лагранжев многочлен в точности воспроизводит функцию, которая является алгебраическим многочленом, степень которого не превышает степень многочлена Ln(x).
f(x) |
f(x) |
|
Ln(x) |
||
Ln(x) |
x
x0 |
x1 x2 |
x3 |
x4 |
xn |
Рис.3 Линейная интерполяция. Здесь интерполяция функции производится по двум точкам x0 и x1 (n=1)
16
L (x) = f |
|
x − x1 |
+ f |
|
x − x0 |
+ R |
|
|
1 x1 − x0 |
||||
1 |
0 x0 − x1 |
1 |
Наибольшая погрешность линейной интерполиции равна
|
|
|
|
max |
|
′′ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
R |
M |
= maxR = |
f (x) |
|
|
max |
(x − x |
0 |
)(x − x |
1 |
) |
, |
x [x |
0 |
, x |
1 |
]. |
|||
|
|
|
|
|
||||||||||||||||
|
|
|
|
|||||||||||||||||
|
|
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|(x-x0)(x-x1)| |
|
|
|
|
|
|
|
|
|
|||||||
Максимальное |
значение |
лежит в |
средней |
|
точке |
|||||||||||||||
x = (x0 + x1 )/2 . Поэтому |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
max (x − x0 )(x − x1 ) =|(x − x0 )(x − x1 )|= (x1 − x0 )2 |
4 = h2 |
4 , |
|
где h – шаг сетки интерполирования. Отсюда имеем выражение для наибольшей погрешности
′′ |
2 |
8 . |
(5) |
RM = max | f (x)| h |
|
Пример 1. Какова наибольшая погрешность линейной интерполяции таблицы функции синусов с шагом 1°.
Решение. Для функции f = sinx имеем | f ” | = | sinx | ≤ 1. Шагу 1° соответствует h = π /180. Отсюда в соответствии с (5) имеем
RM =π 2 8 180 2 = 0.36 10 −4 .
3. Интерполяционный многочлен в форме Ньютона
Другая форма записи интерполяционного многочлена, так назы- |
|||||||||
ваемый многочлен в форме Ньютона, имеет вид: |
|
||||||||
Ln (x)= f (x0 )+ (x − x0 )f (x0 , x1 )+ (x − x0 )(x − x1 )f (x0 , x1 , x2 )+... |
|
||||||||
. |
... + (x − x0 )(x − x1 )...(x − xn−1 )f (x0 , x1 ,..., xn ), |
(6) |
|||||||
где разделенные разности в соотношении (6) записываются |
в сле- |
||||||||
дующем рекуррентном виде |
(x0 , x1 , x2 )= |
f (x1 , x2 )− f (x0 , x1 ) |
|
|
|||||
f (x0 |
, x1 )= |
f (x1 )− f (x0 ) |
, f |
,..., |
|||||
|
|
|
|||||||
|
|
x1 − x0 |
|
|
x2 − x0 |
|
|||
|
|
f (x0 , x1 ,...xn )= |
|
f (x1 , x2 ,...xn )− f (x0 , x1...xn−1 ) |
. |
|
|||
|
|
|
|
|
|||||
|
|
|
|
|
xn − x0 |
|
С точки зрения результата интерполирования многочлены Лагранжа и Ньютона абсолютно идентичны, это разные формы записи одного и того же многочлена. Погрешность формулы (6) можно записать в виде:
Rn (x) = f (x)− Ln (x)= f (x, x0 , x1 ,…, xn )ωn (x)
Несмотря на кажущуюся громоздкость многочлена Ньютона, он во многих отношениях удобнее многочлена Лагранжа. Например, вычисление значений функции в произвольной точке диапазона [x0 xn] проводят с помощью интерполяционных таблиц вида:
17
x |
f |
f (1) |
f (2) |
f (3) |
|
x0 |
f0 |
f (x0 , x1 ) |
|
|
|
x1 |
f1 |
f (x0 , x1 , x2 ) |
|
||
f (x1 , x2 ) |
f (x0 , x1 , x2 , x3 ) |
||||
x2 |
f2 |
f (x1 , x2 , x3 ) |
|||
f (x2 , x3 ) |
|
||||
x3 |
f3 |
|
|
Впервую и вторую колонку заносятся значения аргумента и функции.
Втретью колонку заносятся разделенные разности первого порядка, которые вычисляются по данным первых двух колонок. Разделенные разности n-ой колонки вычисляется по данным первой и (n-1)-ой ко-
лонки. В формулу многочлена Ньютона (6) подставляются данные верхней диагонали таблицы.
Пример 2. Составим таблицу разностей функции f = 2x 2 на равномерной сетке с шагом 1, начинающейся с x0 =1.
x |
f |
f(1) |
f(2) |
f(3) |
|
1 |
2 |
6 |
|
|
|
2 |
8 |
2 |
|
||
10 |
0 |
||||
3 |
18 |
2 |
|||
|
|
14
4 32
Видно, что таблица разностей обрывается на третьем шаге. При этом интерполяционный многочлен имеет вид
Ln (x)= 2 +(x −1)6 +(x −1)(x −2)2 = 2 +6x −6 + 2(x 2 −3x + 2)= 2x 2
В полном соответствии с выводом о том, что интерполяционный многочлен является точным для функции в виде полинома, если в рассмотрение включено достаточное число узлов. Таким образом, если в таблице происходит обрыв, то интерполируемая функция – многочлен степени, соответствующей номеру неисчезающей разности в таблице.
Пример 3. Пусть функция будет та же f = 2x 2 , равномерная сетка с шагом 2, начинающаяся с x0 =0.
x |
f |
f(1) |
f(2) |
f(3) |
|
0 |
0 |
4 |
|
|
|
2 |
8 |
2 |
|
||
12 |
0 |
||||
4 |
32 |
2 |
|||
|
|
20
6 72
Добавим в эту таблицу еще одну координату x =5
18
x |
f |
f(1) |
f(2) |
f(3) |
|
0 |
0 |
4 |
|
|
|
2 |
8 |
2 |
|
||
12 |
0 |
||||
4 |
32 |
2 |
|||
18 |
0 |
||||
5 |
50 |
2 |
|||
22 |
|
||||
6 |
72 |
|
|
||
|
|
|
Видим, что изменения в таблице минимальны, и касаются только трех элементов, а верхняя диагональ вообще не изменилась. Многочлен в форме Ньютона выгодно отличается от лагранжевой формы записи тем, что при добавлении новых точек не приходится пересчитывать всю таблицу.
Пример 4. |
Составим таблицу разностей для функции f |
= sinϕ при |
||||
0≤ϕ≤90°. Для удобства вычисления положим f (x)= sin(30 |
x). |
|||||
xi |
fi |
|
f (xi , xi+1 ) |
f (xi , xi+1 , xi+2 ) |
f (xi , xi+1 xi+2 , xi+3 ) |
|
0 |
0 |
|
0,5 |
|
|
|
1 |
0,5 |
|
-0,067 |
|
|
|
|
0,366 |
-0,016 |
||||
2 |
0,866 |
|
-0,116 |
|||
|
0,134 |
|
|
|||
3 |
1 |
|
|
|
|
|
|
|
|
|
|
Тогда sin в этом диапазоне углов будет вычисляться по формуле f (x)= f0 + xf (1) + x(x −1)f (2) + x(x −1)(x − 2)f (3) .
Например, для ϕ =45° имеем x = 1,5 и значение функции равно
f (1,5)=1,5 0,5–1,5 0,5 0,067 +1,5 0,5 0,5 0,016 = 0,75−0,05 + 0,006=0,706.
Это значение близко к табличному значению sin 45° = 0,707. По таблице разностей легко контролировать сходимость. Быстрое убывание членов ряда обеспечивает хорошую точность задачи интерполирования.
Пример 5. Влияние погрешности задания сеточной функции. Пусть в примере 1 одна из функций определена с ошибкой. f =2x2 x0=1 h=1.
xi |
fi |
f (1) |
f (2) |
f (3) |
|
1 |
2 |
6 |
|
|
|
2 |
8 |
2+ε /2 |
|
||
10+ ε |
-ε /2 |
||||
3 |
18+ε |
2-ε |
|||
14-ε |
ε /2 |
||||
4 |
32 |
2+ε /2 |
|||
18 |
|
||||
5 |
50 |
|
|
||
|
|
|
19
Результатом интерполяции будет выражение
Ln (x) = 2x2 + ε(−x3 +7 x2 −14x + 8) / 2 = 2x2 + r .
Например, при x = 5 имеем r = − 6ε. Таким образом, малозаметная ошибка на начальной стадии вычисления может стать существенной в конце таблицы. По этой причине при интерполяции берут небольшое число узлов.
4. Обратное интерполирование
В задаче интерполирования совокупность значений аргументов xi и совокупность значений функций fi равноправны. Ранее были построены интерполяционные многочлены для функций по значени-
ям аргументов в узлах. Но допустима и обратная задача: в качестве |
|
аргументов выбрать fi , а в качестве функций взять xi: |
|
Ln (f )= x (f0 )+(f − f0 )x(f0 , f1 )+(f − f0 )(f − f1 )x(f0 , f1 , f 2 )+... |
|
... + (f − f0 )(f − f1 )...(f − f n−1 )x(f0 , f1 ,..., fn ) . |
(7) |
В данном случае производится интерполирование обратной функции x(f). С помощью формулы (7) обратной интерполяции можно решать трансцендентные и алгебраические уравнения, при этом необходимо учитывать, что функция x(f) должна быть однозначной. Другим способом определения корня уравнения является использование формулы прямого интерполирования (6):
f (x)= f0 + (x − x0 )f (1) + (x − x0 )(x − x1 )f (2) +...
... + (x − x0 )(x − x1 )...(x − xn−1 )f (n)
Здесь f (n) – разделенная разность n –го порядка. Полагая в последнем равенстве f (x) = 0 и выделяя, например, линейное слагаемое, имеем
x = |
x0 f (1) |
− f0 |
− |
(x − x0 )(x − x1 )f (2) |
−…− |
(x − x0 )(x − x1 )...(x − xn−1 )f (n) |
|
f (1) |
f (1) |
f (1) |
|||||
|
|
|
(8)
Это соотношение рассматриваем как новое функциональное равенство x = g(x), которое можно решить методом последо-вательных приближений. В качестве начального приближения x(0) выбирается свободный член уравнения
x(0) = (x0 f (1) − f0 ) f (1) .
Значение следующего приближения определяется из (8) после подстановки в него x (0): x (1) = g(x (0)). Этот процесс продолжается до
20