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

Выч.мат

..pdf
Скачиваний:
48
Добавлен:
11.06.2015
Размер:
884.09 Кб
Скачать

Пример 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)= mym1 . Итерационная формула имеет вид

yn+1

= yn

ynm x

=

1

 

(m 1)ynm + x

.

mynm1

m

 

ynm1

 

 

 

 

 

Пример 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 = (yn1 x )2 / 2 yn1

 

 

 

 

 

 

yn + x = (yn1 + x )2 / 2 yn1

 

После почленного деления этих равенств находим

 

y

n

x

=

y

n1

 

x

 

2

 

n =1,2,...

(11)

 

 

 

 

 

 

 

 

 

 

yn + x

 

 

 

+

 

x

 

 

 

 

 

 

yn1

 

 

 

 

 

 

Рекуррентное соотношение (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

 

 

необходимое для вычисления суммы с точностью ε = 104. 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

 

 

ji

 

 

 

 

Если функция f(x) задана аналитически, то многочлен Лагранжа в диапазоне [x0, xn ] дает приближение исходной функции

Ln (x) f (x)

(3)

при условии, что в узлах выполняется (1). Геометрически это означает, что в соответствии с (2) через узловые точки проводится алгебраическая кривая вида (рис. 3):

Ln (x) = a0 xn + a1 xn1 +... + 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 xn1 )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...xn1 )

.

 

 

 

 

 

 

 

 

 

 

 

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,750,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 n1 )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 xn1 )f (n)

Здесь f (n) – разделенная разность n –го порядка. Полагая в последнем равенстве f (x) = 0 и выделяя, например, линейное слагаемое, имеем

x =

x0 f (1)

f0

(x x0 )(x x1 )f (2)

−…−

(x x0 )(x x1 )...(x xn1 )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

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