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

Программирование вычислений. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Интерполяционный полином, представленный в виде (20), называется
интерполяционным полиномом Лагранжа, а функции вида (19) – базис- ными полиномами Лагранжа.
Например, на рис. 7 изображен интерполяционный полином Ла­гранжа, построенный по точкам (0, 10), (10, –10), (12, 50), (30, 80).
Рис. 7. Интерполяционный полином Лагранжа
4.2. ИНТЕРПОЛЯЦИЯ СПЛАЙНОМ
На рис. 7 виден один из основных недостатков интерполяционных по­линомов: возможные (из-за высокой степени полинома) колебания и боль­шие отклонения интерполянта от заданных значений, при максимальном заданном значении 80 значение интерполянта превышает 300. Поэтому ин­терполяционные полиномы используются на практике не очень часто.
Когда не требуется бесконечная гладкость интерполянта, можно ис­пользовать интерполяцию сплайном – кусочно-гладкой функцией, у кото­рой непрерывны одна или несколько производных на стыках интервалов гладкости. Для интерполяции чаще всего используются кусочно­полиномиальные сплайны, т.е. сплайны, которые на каждом интервале являются полиномами одной и той же степени. Рассмотрим сплайн-интер­поляцию на примере построения кубического кусочно-полиномиального сплайна.
41
Пусть, как и раньше, известны значения некоторой функции f в
1n
, ,...,
n
x x x
S x

i i
S x f x
0,
i n
0 1 2 2 3 3
S x a a x a x a x
,
i i
x x x
1,
i n
4
n
1 1 1 1
a a x a x a x f x
1,
i n
i i i i i i i i
a a x a x a x f x
1,
i n
2
n
1 2 3 2 1 2 3 2
1 1 1
i i i i i i i i i i
a a x a x a a x a x
1, 1
i n
1 1
i i i i i i
a a x a a x
1, 1
i n
4 2
n
j
i
a
0,3
1,
i n
0 0 0
2 6 2 6 0
n n n
различных точках
0 1
. Требуется построить сплайн
, проходя-
щий через все заданные значения:
,
, (21)
при этом на каждом интервале сплайн должен быть кубическим полино­мом, т.е.
,
i i i i
,
1
. (22)
Для начала попробуем построить сплайн «в лоб», т.е. просто по опре­делению. Очевидно, что требуется определить значения
коэффициен­тов. Выпишем требования к этим коэффициентам. Начнем с того, что соотношения (21) должны выполняться в левом и правом концах каждого интервала:
0 1 2 2 3 3
,
i i i i i i i i
0 1 2 2 3 3
; (23)
,
. (24)
Уравнения (23) – (24) фактически обеспечивают не только выполне­ние (21), но и непрерывность сплайна (22) на концах интервалов. Добавим к
уравнениям (23) – (24) условия непрерывности производных во всех
внутренних точках разбиения:
2 3 2 3
2 3 2 3
2 6 2 6
,
Мы получили систему (23) – (26) из
деления коэффициентов
Для однозначной разрешимости этой системы нужно задать любые два дополнительных условия. Часто в качестве таких условий требуют равенства нулю вторых производных на концах интервала, т.е. добавляют в систему два уравнения
2 3 2 3
a a x a a x
На рис. 8 представлено сравнение типичного поведения двух спосо­бов интерполяции. Интерполяция производится по точкам
(0, 10), (10, –10), (12, 50), (30 80), (40, 70).
,
j ,
42
,
; (25)
. (26)
линейных уравнений для опре-
.
. (27)
Треугольниками помечен интерполяционный полином Лагранжа, а ром­бами – кубический интерполяционный сплайн с непрерывной второй про­изводной, полученный решением системы (23) – (27). Видно, что размах колебаний сплайна существенно меньше, чем интерполяционного поли­нома Лагранжа.
Рис. 8. Сравнение кубического сплайна
с интерполяционным полиномом Лагранжа
4.3. УЛУЧШЕННАЯ ПРОЦЕДУРА ПОСТРОЕНИЯ СПЛАЙНОВ
Основной недостаток построения сплайна описанным выше способом – необходимость решать систему линейных уравнений размерности 4n. Попробуем улучшить алгоритм, изменив представление (22).
В принципе, формула (22) – это представление произвольного куби­ческого полинома через четыре линейно-независимых полинома
2 3
1, , ,x x x
с неизвестными коэффициентами. Очевидно, что если взять лю-
бые другие линейно-независимые четыре полинома до третьей степени, результат будет тот же. Поэтому можно подобрать эти полиномы так, чтобы коэффициенты при них можно было вычислять каким-то более про­стым способом.
43
Рассмотрим идею базисных полиномов Эрмита. Эти полиномы
0,1

0
 
1
 
2 3
1 3 2
      
0 1
0 0
1 0
1 0
2 3
3 2
     
0 0
0 0
1 1
1 0
2 3
       
0 0
0 1
1 0
1 0
2 3
     
0 0
0 0
1 0
1 1
1
 
1
1
1
11iii i
x xxx x
,
i i
x x x
1,
i n
1
i i i
h x x

i i i i i i i i i i
          
0,1
 
i i i
a a f x
1, 1
i n
1 0
a f x
n n
a f x
2 3
i i
a a
1, 1
i n
определяются на эталонном отрезке
и обладают следующими
свойствами (см. таблицу).
Левый конец отрезка,
1
2
3
4
2
1
2
3
4
,
1
,
2
,
3
,
4
Правый конец отрезка,
1
2
3
4
,
,
,
,
1
2
3
4
Графики этих полиномов представлены на рис. 9.
1
2
3
4
0
0
1
Рис. 9. Вид базисных полиномов Эрмита
0
1
0
1
Сделаем в формуле (22) замену переменных:
и обозначим
S x a a a h a h
 
,
,
1
, получим
0 1 2 3
1 2 3 4
,
,
i
Очевидно, что теперь аналог уравнений (23), (24) принимает вид:
0 1
1
0
,
,
1
, (30)
, (29)
что не требует решения системы уравнений.
Вместо уравнения (25) непрерывность производных обеспечивается уравнением
h
,
1
h
i
1
i
, (31)
44
1
. (28)
что фактически является исключением переменных
2
i
a
2,
i n
1n
1 1
, ,
i i
x x x
x x x
1, 1
i n
1 0 1
, ,
x x x
, ,
n n
x x x
1 3 1
, ,
i i i
h x x x
h x x x
1, 1
i n
1 3 0 1
, ,
h x x x
, ,
n n n
h x x x
,
и не тре-
бует решения системы уравнений.
Таким образом, для определения сплайна с непрерывной второй про­изводной потребуется решить только
уравнений равенства вторых производных (добавив к ним, аналогично (27), два условия равенства вто­рых производных нулю на концах интервала интерполяции).
Заметим, что формула (28) не удобна для представления сплайна, поскольку не обеспечивает непрерывность сплайна и его первой производ­ной без соотношений (29) – (31). Возможно представить сплайн гораздо более наглядным способом.
Введем в рассмотрение следующие функции:
0,
x x
1
i
i
1
0,
,
1
i
i
1
,
, ,
x x
x
 
n
0,
x x
, ,
0,
x x
x
 
n
1
i
,
i i
1
i
x x
n
2 1
  
1
i
h
n
,
1
i
x x
4 1
 
h
n
,
1
0,
x x
,
1
n
,
1
n
0,
x x
1
n
.
0
x
 
0
x
 
x
 
i
x x
 
 
 
h
1
x
 
i
x x
0
x x
1 0
 
x x
 
 
   
0
0,
2 1
h
i
x x
h
i
x x
1
 
x x
 
 
   
4 1
h
i
x x
i i i
h
i
0,
x x
1
45
Вид этих функций приведен на рис.10. Обратим внимание, что каждая
из этих функций непрерывна на всем интервале
прерывную первую производную. При этом в каждом узле денных функций только функция первая производная только одной функции
отлична от нуля (и равна единице), и
i
отлична от нуля (и равна
i
и имеет на нем не-
x x
0,n
x
из всех вве-
i
единице). Поэтому взвешенная сумма
n
S x s x q x
 
     
i i i i
0
i
(32)
является непрерывной, кусочно-кубической функцией с непрерывной пер­вой производной, причем
S x s x q
i i i i
dS
,
dx
. (33)
Рис. 10. Функции
i
x
 
и
i
x
 
для
1
ix
,
x
i
2.25
,
ix
.
1
3.0
2.0
Очевидно, что представление сплайна (32) – (33) гораздо удобнее, чем
представление (28), поскольку уравнения (29) – (31) превращаются в
, 0,
а для определения весов
2 2 2 2
d S d S d S d S
x x i n x x
 
i i n
2 2 2 2
dx dx dx dx
s f i n ,
i i
q
используются условия гладкости сплайна:
i
, 1, 1, 0, 0.
0
(34)
46
Заметим, что на практике не всегда нужен сплайн с непрерывной вто­рой производной, обычно достаточно непрерывности первой. В этом слу­чае веса
q
можно, в принципе, задать любыми, например, часто исполь-
i
зуют простой способ: строят интерполяционный полином Лагранжа по точкам
1, , 1i i i
и задают значение
q
как его производную в точке i .
i
В крайних точках действуют аналогично, но только параболу строят со сдвигом на одну точку. Этот способ позволяет построить сплайн с разум­ным поведением без решения системы уравнений вообще.
Рис. 11. Сравнение сплайнов с непрерывной только первой производной
и с непрерывной второй производной
На рис. 11 представлено сравнение сплайнов с непрерывной второй производной (помечен ромбами), который был представлен ранее на рис. 8, и сплайна с непрерывной только первой производной (помечен тре­угольниками), построенного описанным способом. На этом примере видно, что отличия в колебаниях не слишком существенны. Такое поведе­ние сплайнов типично для используемых методов построения, поэтому сплайн с непрерывной только первой производной, построенный описан­ным выше способом, часто используется в приложениях, не требующих большей гладкости интерполянта.
ГЛАВА 5. ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ
I f x dx
,
a b
,
a b
i i
f x dx q f x
,ix a b
i
q
i
x
,
a b
*
I
h
I
h
I I
Классическая задача численного интегрирования заключается в сле­дующем. Пусть необходимо вычислить определенный интеграл
от непрерывной на
функции f. При этом сама функция f, воз-
можно, неизвестна, или непредставима аналитически, но её вычисление возможно в любой точке отрезка
b
q
где
i
весами
,
и узлами
a
, называется квадратурной формулой, определяемой
.
Очевидно, что при построении квадратурных формул следует оцени­вать их точность и время вычислений. Для оценки времени вычислений обычно предполагается, что самая «дорогая» операция – это вычисление самой функции, т.е. оценку времени вычисления квадратурной формулы заменяют числом вычислений подынтегральной функции. Для оценки же точности можно использовать два способа.
Первый способ заключается в оценке максимальной степени поли­нома m, для которого приближенное равенство (36) является точным. Будем называть эту степень порядком точности квадратурной формулы.
Второй способ определяется несколько сложнее. Будем считать, что отрезок
разбивается на n одинаковых отрезков размера h (этот раз-
мер называют шагом разбиения), и вычисления по квадратурной формуле на каждом шаге производятся как-то однотипно (по одинаковой формуле
относительно границ отрезка). Обозначим через грала (35) (которое, конечно, не всегда известно), а через
вычисленное по изучаемой квадратурной формуле с шагом h. Есте­ственно, квадратурная формула обычно строится таким образом, чтобы
разность
*
стремилась к нулю при стремлении к нулю шага h. Поря-
док малости этой разности относительно шага обычно называют порядком метода (иногда его называют порядком аппроксимации) и именно его чаще всего используют для оценки точности метода.
Рассмотрим теперь принципы построения квадратурных формул.
 
b
a
(35)
 
. Приближенное равенство
n
1
i
, (36)
точное значение инте-
– значение,
48
5.1. МЕТОД ПРЯМОУГОЛЬНИКОВ
f x dx hf h
 
h
h
,
2 2
h h
F x
f x
F x f t dt
0 0

F x f x

F x f x


F x f x
 
F x
 
, 0
0,
2
h
/ 2
h
/ 2
h
x
0
f x
y
Простейшим методом численного интегрирова­ния является метод прямоугольников. Его идея ос­нована фактически на определении интеграла, как предела интегральных сумм. На каждом отрезке значение интеграла вычисляется как площадь пря­моугольника, основание которого – шаг интегриро­вания, а высота – значение функции в центре от­резка. В соответствии с обозначениями на рисунке
где
– погрешность квадратурной формулы, которую обычно назы-
вают остаточным членом.
Получим в явном виде
h
2
     
h
2
для функции4
0
f C
, (37)
2
. Для этого
запишем первообразную
функции
x
   
0
в виде
. (38)
Тогда, учитывая, что
F
,
,
,
.
согласно формуле Тейлора с остаточным членом в форме Лагранжа, для функции
получим:
h h h h
F f f f
2 2 8 48
h h h h
 
F f f f
 
2 2 8 48
 
   
2 3
0 0
   
0 0

2 3

,
,
 
  
h
; (39)
2
. (40)
k
4
C
где
– класс k раз непрерывно дифференцируемых на множестве  функций.
49
Следовательно,

24 2
 
24 2
h h
 
,
a b
0 1
N
a x x x b
, , ... ,
N
x x x
i
h
h
2
откуда
h
2
h
 
h h h
f x dx F F hf
   
3
h
 
 
2 2 24 2
 
f f
, т.е.
3
 
f f
0
, (41)
h
2
f x dx hf f
     
h
2
3
0 ,

. (42)
Формула (42) называется канонической квадратурной формулой ме-
тода прямоугольников с остаточным членом.
Обратим внимание, что каноническая формула (42) содержит вторую
производную интегрируемой функции, поэтому:
1) формула (42) имеет первый порядок точности, так как полиномы до
первого порядка имеют нулевую вторую производную;
2) остаточный член показывает, что точность численного интегриро-
вания зависит от интегрируемой функции, поскольку содержит её вторую производную;
3) остаточный член напоминает, что все выкладки делались для функ-
ций, имеющих на отрезке интегрирования непрерывную вторую производ­ную, т.е. близость значения квадратурной формулы метода прямоугольни­ков к точному значению интеграла обоснована только для функций, у ко­торых вторая производная есть.
Вообще говоря, численное интегрирование функций, не обладающих достаточной гладкостью, а также вычисление несобственных интегралов является отдельной проблемой, выходящей за рамки данного пособия. Если же интегрируемая функция является кусочно-гладкой, то предвари­тельное разбиение интеграла по аддитивности дает возможность приме­нять рассматриваемые методы.
Перейдем теперь от канонической формулы к вычислению интеграла на всём отрезке
точками кой, а точки
. Разобьём область интегрирования на N отрезков
...
0 1
(обычно такое разбиение называют сет-
– узлами сетки). Обозначим через
длину
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]