/
Author: Рыбин В.В.
Tags: программирование математика тригонометрия учебное пособие издательство маи компьютеризация
Year: 2004
Text
Мос^а • 2/WM
ПРИБЛИЖЕНИЕ
ФУНКЦИЙ.
КОМПЬЮТЕРНАЯ
ПРАКТИКА В СИСТЕМЕ
КОМПЬЮТЕРНОЙ
МАТЕМАТИКИ
МА I HCAI)
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ
(государственный технический университет)
В.В. РЫБИН
ПРИБЛИЖЕНИЕ ФУНКЦИЙ.
КОМПЬЮТЕРНАЯ ПРАКТИКА В СИСТЕМЕ
КОМПЬЮТЕРНОЙ МАТЕМАТИКИ MATHCAD
Учебное пособие
Утверждено
на заседании редсовета
13 октября 2003 г.
Москва
Издательство МАИ
2004
Рыбин В.В.
Приближение функций* Компьютерная практика в системе
компьютерной математики MATHCAD: Учебное пособие* — М.:
Изд-во МАИ, 2004* — 80 с.: ил.
В пособии кратко рассмотрена задача приближения одномерных функций и
разные схемы ее решения с использованием широкого круга базисных систем функ-
' ций, от традиционных систем функций — тригонометрических до современных —
базисных систем вейвлет-функций. Рассмотрены типовые примеры программирова-
ния и изучения задач приближения функций в системе Mathcad.
Пособие Предназначено для студентов специальности “Прикладная математи-
ка”, обучающихся по курсу “Компьютерная практика по математическим дисцип-
линам”, Оно также может быть полезным при проведении практических занятий в
дисплейном классе по курсу “Оптимизация и численные методы”, читаемого на тех-
нических и экономическом факультетах.
Рецензенты: каф. “Автоматизация биотехнических систем” МГУ прикладной
биотехнологии (зав. каф. В.И. Попов); В. Б. Чадов.
ISBN 5-7036*1434-7
® Московский авиационный институт
(государственный технический
университет), 2004
Тем. план 2004, поз, 32
Рыбин Владимир Васильевич
ПРИБЛИЖЕНИЕ ФУНКЦИЙ.
КОМПЬЮТЕРНАЯ ПРАКТИКА В СИСТЕМЕ
КОМПЬЮТЕРНОЙ МАТЕМАТИКИ MATHCAD
Редактор ГЛ. Моисеева
Компьютерная верстка Т.С. Евгеньева
Сдано в набор 17.03.04. Подписано в печать 17.06.04^
Бумага газетная. Формат 60 х 84 1/16.
Печать офсетная. Усл. печ. л. 4,65. Уч.-изд. л. 5,00.
Тираж 500. Зак. 2767/1709. С. 197.
Издательство МАИ
“МАИ”, Волоколамское шоссе, д. 4, Москва, А-80, ГСП-3 125993
Типография Издательства МАИ
“МАИ”, Волоколамское шоссе, Д. 4, Москва, А-80, ГСП-3 125993
ПРЕДИСЛОВИЕ
В настоящее время методы приближения функций широко
применяются в инженерной практике. Аппарат представления
функций и сигналов в виде обобщенных рядов Фурье нашел широ-
кое применение как в теории цифровой обработки сигналов и изо-
бражений, так и в теории управления. Так, например, конец про-
шлого века характеризуется появлением нового спектрального ме-
тода расчета нестационарных систем управления, специально при-
способленного для ЦВМ [9, 10, 16], Его истоки лежат в представ-
лении сигналов и временных характеристик системы управления
в виде ортогональных рядов. Коэффициенты этих временных
рядов, отделенные от самих рядов, рассматриваются как характе-
ристики сигналов и систем управления. Эти характеристики и со-
ставляют аппарат анализа систем управления. Теория обобщен-
ных рядов Фурье для представления функций все время развива-
лась под воздействием задач инженерной практики, В 60-х годах
прошлого века получил распространение метод приближения
функций сплайнами [6, 7], а в 90-х годах прошлого века возникла
и получила широкое распространение теория вейвлетов [11, 12],
Вейвлеты, особенно ортогональные вейвлеты с компактными но-
сителями, позволяют представлять и исследовать сигналы с ло-
кальными особенностями в виде обобщенных рядов Фурье — вейв-
лет-рядов.
Применение всех этих методов приближения функций невоз-
можно без использования вычислительной техники, и особенно
современных автоматизированных математических систем чис-
ленной и символьной математики [13—16], В последние годы по-
лучили широкое распространение такие программные системы
компьютерной математики, как Mathcad, Matlab, Mathematica,
Maple. Эти программные системы являются мировыми лидерами
среди компьютерных систем численной и символьной математики
для ПК. Они позволяют готовить отчетные документы, которые
объединяют исходные данные, описание алгоритмов решения
3
задач, программ и результатов решения в самой разнообразной
форме.
Данное пособие предназначено для проведения компьютерной
практики по приближению функций с использованием программ-
ной системы Mat head [13].
В первой главе рассматривается постановка задачи о прибли-
жении одномерных функций. Приводятся примеры базисных сис-
тем функций, ортогональных на конечном отрезке или на системе
точек этого отрезка. Более детально изучаются базисные сплайны
и ортогональные вейвлеты. Кроме того, изучаются задачи и схемы
интерполирования, точечного и интегрального квадратичного апп-
роксимирования функций.
Во второй главе рассматриваются примеры задач интерполя-
ции и аппроксимации с использованием различных базисных сис-
тем функций и различных численных схем решения искомых
задач. Каждый изучаемый пример является рабочим документом
программной системы Mathcad. Ввод и воспроизведение этого до-
кумента студентом на практике позволяют ему глубже понять ал-
горитм решаемой задачи и особенности его программной реализа-
ции, а также выполнить полученное задание на компьютерную
практику по приближению функций.
В приложении приводятся некоторые схемы решения задач
интерполяции и аппроксимации, а также задания на компьютер-
ную практику по приближению функций.
Глава 1. ПРИБЛИЖЕНИЕ ФУНКЦИЙ
1.1. Постановка задачи о приближении функций
Пусть дана базисная система функций ^90(х), ср^х), ...» ф^х),...} *
Функции вида
Qm(x) = с0 ФоО) + С1 <P1W + с2 Ф2<х> + + ст ’ <1Л)
где Cq , сх , ст — постоянные коэффициенты) называются обоб-
щенными многочленами или обобщенными полиномами.
Рассмотрим некоторую функцию f(x).
Задача о приближении ставится следующим образом: данную
функцию Дх) требуется приближенно заменить (аппроксимиро-
вать) обобщенным полиномом Qw(x) (1Л> так, чтобы отклонение,
в некотором смысле, функции f(x) от Q^r) на заданном множестве
М было наименьшим.
Этого можно достичь, вообще говоря, за счет надлежащего
подбора коэффициентов с- , i = 0, 1, 2, ...» т. При этом полином
Qm(x) называется аппроксимирующим. Что касается смысла тер-
мина “отклонение двух функций’*, то в зависимости от обстоя-
тельств его можно понимать по-разному.
Если множество М состоит из отдельных точек
х0 , хп , то приближение называется точечным; если же
М есть отрезок а < х < Ь, то приближение называется интегралы
ным.
В самом простом случае базисная система функций {Д(х)}
представляет собой последовательность целых неотрицательных
степеней переменной х:
5
фо(х) = 1 ; <р1(х) = х; ф2(х) = х2 ; ... фт(х) = хт ; ...
В этом случае функции (1.1) являются обычными алгебраичес-
кими полиномами:
= а0 + а1 х + а2 X2 + — + ат х™ ’ С1’2)
где а- — постоянные. Таким образом, приходим к задаче аппрок-
симирования функции /(х) полиномом Q,,/*) (1.2).
1.2. Примеры базисных систем функций
1,2,1. Ортонор мированные непрерывные системы
функций
Система функций {фД, в общем случае комплексных, опреде-
ленных на отрезке [0, fj, называется ортонормированной на этом
отрезке с весом р, если все функции этой системы удовлетворяют
условию
t
(p<PA’<p/)=f р(х)фй(х)ф/х)«/х=8Аи . (1.3)
' О
1,2,1.1. Полиномы Лежандра
Непрерывные ортонормированные полиномы Лежандра, опре-
деленные на отрезке [0, t], задаются формулой
I i у
Pi(t,x)=№j± ltiV i = 0,1,2,3.............. (1.4)
u = 0 '
где
iitP = (- 1Гис/+17с/-у.
Непрерывные полиномы Лежандра (1.4) ортонормировании
на отрезка [0, t] с весом p(t, х) = 1.
6
Для непрерывных полиномов Лежандра справедлива рекур-
рентная формула
Pi+1(«, =—г ж) х) -
I Т 1 t I > о
(1.5)
,i=l, 2, 3.....
'*• X J
которая позволяет найти все полиномы Лежандра по первым двум
р0<*’х) = ; Р1(*>х) = ру - il •
1.2.1.2. Полиномы Чебышева первого рода
Непрерывные ортонормированные полиномы Чебышева пер-
вого рода, определенные на отрезке [0, $], задаются формулой
х) =
(1-6)
где
Непрерывные полиномы Чебышева первого рода (1.6) ортонор-
мировании на отрезка [0, £] с весом
. 1
p<,’x> = W^r
Для непрерывных полиномов Чебышева первого рода справед-
лива рекуррентная формула
7
Tt + у/, x) = л/2л ту/, x) ту/, x) - Tt _ j(t, x) , i = 3, 4, ..
T2{t, x) = >/2л Tf(t, x) - VT T0(t, x) ,
(1.7)
которая позволяет найти все полиномы Чебышева первого рода по
первым двум
То(/, х) = ; Ту/, х) = № № - 1
и л 1 ТС I *
1.2.1.3. Полиномы Чебышева второго рода
Непрерывные ортонормированные полиномы Чебышева второ-
го рода, определенные на отрезке [0, £], задаются формулой ц
sin (г + 1) arccos — - 1
= 7 ' 7 - /2х^ у- ’ (1-8)
sin arccos — - 1
где
_ Л _ у л/тйГ(1 + и + 2)
Ч, и-^1) / ЯЛ
2Г и + -г- (i - и)! и!
1 I
Непрерывные полиномы Чебышева второго рода (1.8) ортонор-
мировании на отрезка [0, £] с весом
р(t, х) = ^x(t -^с) .
1.2.1.4. Тригонометрические функции
Непрерывные ортонормированные тригонометрические функ-
ции, определенные на отрезке [0, t], задаются формулами
8
, i = 0
C^t, x) = <
— cos
in
t
i= 1, 2
(1.9)
yt(l, x) = V-* sin Г* * ” x , i = 0, 1, 2,..
V 1 Г
(1.10)
Непрерывные тригонометрические функции ортонормирован-
ны на отрезке [0, с весом р(£, jc) = 1.
1.2.1.5. Комплексные экспоненциальные функции
Непрерывные ортонормированные комплексные экспоненциаль-
ные функции, определенные на отрезке [0, t], задаются формулой
__ . 2ук
Fl(t,x) = y~e~X,i = Q,±\,±2<... (1.11)
Непрерывные комплексные экспоненциальные функции
(1.11) ортонормировании на отрезка [0, £] с весом p(t, x)sl.
1.2.2. Ортонормированные дискретные
системы функций
Систему функций {(pj, в общем случае комплексных, опреде-
ленных на системе точек (I - 0, 1, L - 1) отрезка [0, £], назо-
вем ортонормированной на этом отрезке с весом р, если все функ-
ции этой системы удовлетворяют условию
L- 1
(РЧ>Л > <р/) = X РЮ <₽лЮ = 5h,i- С1-12)
7 / = 0
1.2.2.1. Полиномы Чебышева
Дискретные ортонормированные полиномы Чебышева, опре-
деленные на отрезке [0, 1], задаются формулой
9
; J(2i + 1)(L - 1)1“ Л . • П
и = О
i = 0, 1, L - 1 ; 1 = 0, 1, 1 ; L = 2, 3, 4,
где
= S(S - - v + 1) ; lk „ = (- 1)‘ - “ C,‘t „ c‘ - " .
Для точечного аппроксимирования удобно считать, что дис-
кретные полиномы Чебышева (1.13) заданы на системе точек
М = jx0 = 0 , хх , х2 > •••» х£ -1} отрезка [0, £] с постоянным шагом
h = xL + । - х(. . Они ортонормировании на этой системе точек с
весом p(L, Z) = 1.
Для дискретных полиномов Чебышева справедлива рекур-
рентная формула
*i + 1 ’ i+l -/-!)(£ +i+l)
x <
л/W* - 1) > ~ .J (£ + 0(ГП)~ * 1
N 3 PX(L. I) Pi(L, I) N (2. + 1){2. _ 1} Pi _ I) > .
i = 0,l, 2..L~ 1 ,
(1.14)
которая позволяет найти все полиномы Чебышева по первым двум
3(L - 1) f 21
(L + 1) L L - 1 “
1.2.2,2. Полиномы Кравчука
Дискретные ортонормированные полиномы Кравчука, опреде-
ленные на отрезке [О, £], задаются формулой
ЦЬ, Z) =
a „.o - 1’1"1 ’
(1.15)
10
i = О, 1, .... L - 1 ; 1 = 0,1. L - 1 ; L = 2, 3, 4..........................
где p > 0 ; q > 0 и p + q = 1 ,
a = s(s - - и + 1) .
Для точечного аппроксимирования удобно считать» что дис-
кретные полиномы Кравчука (1.15) заданы на системе точек
М ~ = 0 , » х2 > xl - i| отрезка [0, t] с постоянным шагом
h ~ xi + xi * Они ортонормированию на этой системе точек с
весом p(L» I) - ClL _ ! pl qL " 1 ~ \
Для дискретных полиномов Кравчука справедлива рекуррент- .
ная формула
х f(2p - l)i + ^pq(L- i) k^L, Z)i x
I * I
x kAL, I) - V---—Ц—- kt ,(L, I) ,
(1.16)
i = 1, 2,..„L - 1 ,
которая позволяет найти все полиномы Кравчука по первым двум
k0(L, /) = 1 ;
1.2.2,3. Тригонометрические функции
Дискретные ортонормированные тригонометрические функ-
ции, определенные на отрезке [О, Z], задаются формулами
л/у , i = 0 ;
Ci<X, 1) =
1 = 0, 1,.
2
Y cos
.„L-l ;
, i= 1, 2,...,L - 1;
L = 2, 3, 4....
(1.17)
11
(1Л8)
~ ,т ~ J 2 • ГО + 1) я ,, ,,
V/L, 1) = N-—.- sin \ (I + 1) ,
* Lt + 1 1 Lt + 1
t = О, 1» ..o L - 1 ; I = О, 1, L - 1 ; L = 2» 3, 4, ...
Для точечного аппроксимирования удобно считать» что дис-
кретные косинусоиды (1.17) заданы на системе точек
_ М - - h/2 , , х2 > **., xL _ отрезка [0< t] с постоянным
шагом , а дискретные синусоиды (1.18) заданы на системе точек
М - jx0 = h , , х2 , ...» xL _ отрезка [0, с постоянным шагом
h = xi+ j - xt . Дискретные косинусоиды и синусоиды ортонорм и -
рованны на указанных системах точек с весом p(L, 1) = 1.
1.2.2.4. Комплексные экспоненциальные функции
Дискретные ортонормированные комплексные функции, опре-
деленные на отрезке [0, £]» задаются формулами
F^L, l) = ^eL
L л _ , L .
i 2 , .... 1, О, 1...... 2 1 ; (1 ig)
I = 0, 1. L- 1 ; £ = 2,4,6,.,.
Для точечного аппроксимирования удобно считать/что дис-
кретные комплексные функции (1.19) заданы на системе точек
М = |х0 > Х1 » х2 ’ •••> XL-1| 0ТРезка [0* И с постоянным шагом
~ xi + 1~ xt * Они ортонормировании на этой системе точек с
весом р(1ч Z) = 1.
1.2.3. Базисные сплайны с конечными носителями
минимальной длины
।
1.2.3.1. Основные понятия
Введем понятие сплайна.
Функция £л(х)» заданная на отрезке [а, д] и имеющая п - v не-
прерывных производных» называется сплайном степени п дефекта
v (о — целое число, 0^и^п+1) с узлами на сетке
12
a = x0 < Xj < ... < xL _ j = b, если на каждом отрезке [хг, х/ + J
функция Sn(x) является многочленом степени п, т.е.
п
3„(х) = £ а*Гх-х/ , (1.20)
fc = 0 J
где х € [х^ , х* * , I - 0, 1, 2,..., L - 1.
Множество сплайнов, удовлетворяющих уравнению (1.20), об-
разует линейное пространство. В этом пространстве можно задать
различные базисные системы функций.
Рассмотрим базисные сплайны с конечными носителями ми-
нимальной длины (В-сплайны), которые образуют базис конечно-
мерного пространства размерности L + п - 1 сплайнов степени п
дефекта 1.
Если п = 0, то В-сплайн имеет вид
В0(х) =
1, х G [- 1/2, 1/2] ;
0, хе [- 1/2, 1/2] .
(1-21>
Любой В-сплайн порядка п можно найти, используя свертку
Вп(х) = Вп _ х(х) • В0(х) = J Вп _ г(у) В0(х - у) dy . (1.22)
Полученная в результате функция В^(х) есть полином степени
п на каждом единичном
г . (п + 1) . - (д + 1) I
отрезке [ j---%— , ] + 1---— J ’
/ = О, 1,...,
п, и равна 0 вне отрезка
(п + 1)
2
(ft + 1) ~|
2 J
. Заметим,
что для В-сплайнов справедлива рекуррентная формула
dBn(x)
dx
Используя свертку (1.22), находим В-сплайны порядка
р = 1,2,3. Они имеют вид
13
х + 1, хе [- 1, 0];
Bj(x) = < 1 — х, хе [0,1] ;
0, х«[-1, 1] ;
_3 _Г1
2 ’ 2J ’
* 1 Г .
2’2]’
(1.23)
(1-24)
О,
(2 + л)3
6,
хе [-2,- 1];
1 + 3(1 + х) + 3(1 + х)2 - 3(1 + х)3
1 + 3(1 - х) + 3(1 - х)2 - 3(1 - х)3
6,
(2 - х)3
6,
х е [О, 1];
х е [1, 2] ;
(1.25)
хе [-2, 2]
и являются наиболее приемлемыми в практических вычислениях.
В частном случае для построения базисной системы из
В-сплайнов на отрезке [0, t] преобразуем конечный носитель
В-сплайна порядка п, отрезок
(» + 1)
2
(п + 1) ~|
2 J
в отрезок
[Z А» (I + п• + 1) A], h = * . Получим
(В — 1)
14
а-2®)
I ** л
L2.3.2. Кусочно-постоянные базисные сплайны
Простейшие кусочно-постоянные финитные функции, опреде-
ленные на отрезке [0, задаются формулой
П/х) = V——
1, хе [lh, (I + 1)Л] ;
(1.27)
О, хе [/Л, (Z + 1)Л] .
1 = 0, 1.
Простейшие кусочно-постоянные финитные функции построе-
ны на сетке xt = hl, h =
t
L- 1
I = 0, L - 1, разбивают отрезок
[0, £] на L - 1 подобластей [lh, (i + 1)Л] , I - 0, 1,..., L - 2, и образует
ортонормированный базис линейной оболочки функций П^х), т.е.
t
j П/х) Л/х) dx -\j.
о
1.2.3,3. Кусочно-линейные базисные сплайны
Кусочно-линейные финитные функции (функции-крышки),
определенные на отрезке [0, t], задаются формулами
KQ(x) =
1 - Y X е [0, А] ;
0, х й [0, Л] ;
^+1(х) =
| - 1, хе [lh, (I + 1)й] ;
I + 2 - j , х е [(I + 1)Л, (Z + 2)Л] ;
0, xt [(lh, (I + 2)Л] ,
(1.28)
I = 0, 1,..., L - 3;
15
KL_1(x) =
%-L + 2,
h
xe[(L- 2)h, (L - l)ft] ;
x £ [(£ - 2)Л, (L - 1)Л] .
Кусочно-линейные финитные функции построены на сетке
= h = —Ц- , / = 0, 1
, L - 1, разбивают отрезок [0, #] на
L - 1 подобластей [/ Д (I + 1)Л], Z = 0, 1,,,,, L - 2, и образуют ор-
тонормированный базис линейной оболочки функций К^(х), при-
чем
i
J К£х) KjCx) dx =
О
= 0 при |i - j\ > 1 ;
# 0 при |i - j\ < 1 ,
т.е. только для соседних функций скалярное произведение отлич-
но от нуля (почти ортогональнрсть).
1.2 А. Ортогональные вейвлеты с компактными
носителями
1.2 АЛ. Основные понятия’
Введем понятие ортогонального вейвлета.
Квадратично интегрируемая функция xg называется ортого-
нальным вейвлетом, если семейство
ft(x) = 2 ;/z у(2' x - й) , j,keZ, (1.29)
является ортонормированным базисом квадратично интегрируе-
мых функций на R. Это означает, что
(Ч.*’ Vi,m)=5j,!5Atm> jtk,l,meZ, (ИЗО)
и любая квадратично интегрируемая функция f может быть пред-
ставлена сходящимся рядом
DO DO
= £ (1.31)
У = — <»&= — оо
16
Ряды, представляющие функции f в (1*31), называются вейв-
лет-рядами или обобщенными рядами Фурье, а вейвлет-коэффи-
циенты Су k определяются формулой
+ «
% k = I fW V* к(х) dx . (1.32)
Для ортогональных вейвлетов возможно точное восстановле-
ние функции, если использовать дополнительную аппроксимацию с
помощью масштабирующей функции ф(х). При. этом вейвлет-пред-
ставление функции (1.31) разбивается на две составляющие: грубую
(аппроксимирующую) и уточняющую (детализирующую)* Мас-
штабирующая функция ф, как и вейвлет у, порождает семейство
fe(x) = 2'?г Ф(2' х - k) , i.keZ, (1.33) \J
которое получено из одной масштабирующей функции ф (одного
Вейвлета ф) в результате двоичного сжатия в 2У раз и двухпарамет-
рического сдвига на /г/27.
Следовательно, можно считать, что задан ортонормированный
вейвлет-базис k , ф; , т*е. базис, отвечающий условиям
’ ДО. =$*,»,• у'
*>VAm)=0. j'keZ-, (1.34)
ДО,*’j<k,l,mEZ,
а поэтому любая квадратично интегрируемая функция на R пред-
ставляется рядом
+ « оо о®
K*)eZ Sj, k <Pj. + Z Z (1-35)
k = — » j = j k = — °°
и полностью характеризуется ее вейвлет-коэффициентами Sj
(аппроксимации) и k (детализации) разложения по этому бази-
су, которые можно вычислить по формулам
17
+ «
«/. ft = J fix) k(x) dx ; — PO (1.36)
+ « ft = J fM V* Й(Г) dX . (1.37)
Обращение функции можно проводить на любом J-м уровне
разрешения.
1.2.4.2, Функции Хаара
Исторически первым ортонормированным базисом вейвлетов
был базис Хаара, построенный задолго до того, как сформировал-
ся термин “вейвлет”. Масштабирующей функцией <р базиса Хаара
является функция (р(х) = 1, если 0 < х < 1, q>(x) = 0 в противном
случае (<рд k(x) - 1, если k/2J < х < (А + 1)/2; , *(х) = 0 в против-
ном случае), а вейвлетом является (базисной системой вейвле-
тов)
II, О £ х < ;
&
- 1, |<Х< 1 ;
&
0 в противном
случае
, 2А + 1 А + 1
- 1, —:—— <х< ;
2; + 1 Я
0 в противном
случае
(1.38)
Тогда базис вейвлетов Хаара с компактными носи-
телями образует ортонормированный базис квадратично-интегри-
руемых функций на Л.
1.2.4.3. Функции Добеши порядка М
Базис Добеши порядка М = 1 является базисом Хаара, т,е.
базис Хаара является частным случаем базиса Добеши. Масштаби-
рующая функция <р(х) и вейвлет Добеши \|/(х) не имеют явных ана-
литических формул, за исключением базиса Добеши—Хаара. Тем
18
№ не менее, если <р непрерывна, для заданного х можно вычислить
L <р(х) с любой точностью.
Е Построение вейвлета Добеши порядка М с компактным носи-
| телём сводится к построению масштабирующей функции Добеши
I порядка М.
I Уравнение, определяющее масштабирующую функцию, имеет вид
I 2М-1
[ <р(х) = £ hk <p(2r -k) , (1.39)
f fc = о
< а вейвлет Добеши строится по формуле
2М-1
i ф(х) = ^2 £ gk tp(2x -k) . (1.40)
j к = 0
t Можно показать (16], что для вейвлета Добеши (1.40) параметры
[ Я* = (-1)*Л2М-й~1? ft = 0-1..»2М-1, (1.41)
| т.е. выражаются через параметры hk однозначно. Сами параметры
hk (k = 0, 1,..., 2М - 1) находятся из решения следующей системы
уравнений:
гм - 1
Е hk hk-2т = So. т > т = °’ М - 1 ’
й = 0
2М - 1 2М - 1
Е kngk = 0; Е Afe = ^2 . (1.42)
k=0 k=0
Например, для вейвлетов Добеши порядка два, т.е* для М = 2
(т = 0,1), уравнения (1Л2) можно записать в виде системы
hl + hf + hj + Л| = 1 ;
ft-Q /ig "I" — 0
ЗЛ0 - + A2 = 0 ;
Ло + fti + Z«2 + Аз = 'fZ >
(1.43)
19
которая имеет два решения:
h 1 (1 + Vi) , А1 = ~ 1 4 >/2 (3 + Vs),
2 4 Vjf (3 - V3) , (1.44)
Йо = -Д= 0 4 -V2 (1 - V3) , (3 - V3),
й2 = —L= 2 4 V2 (3 + <3) , , 1 3 4 ^2 (1 + Vs).
Эти коэффициенты определяют простейший вейвлет Добеши
второго порядка. Коэффициенты для вейвлетов Добеши более вы-
сокого порядка могут быть получены аналогично [11]. Однако из-
за необходимости решать уравнения степени 2М, в общем случае
для них можно выписать лишь численные значения, хотя и с
любой заданной точностью. Область задания вейвлета равна
2М - 1. Вейвлеты Добеши более высокого порядка более гладкие.
По мере роста гладкости вейвлета увеличивается и размер его об-
ласти определения.
1.24.4. Вейвлет-базисы на отрезке
Рассмотренные ранее вейвлеты приводили к базисам квадра-
тично-интегрируемых функций на R. Исключение составляет
базис Хаара [9, 10, 16]. В приложениях обычно используют разло-
жение функции f(x) на конечном интервале. Если функция f(x) за-
дана на конечном интервале, то для ее анализа можно использо-
вать обычные базисы вейвлетов. Например, доопределим функцию
f(x)t полагая ее равной нулю вне [0,1]. Тогда при восстановлении
функции по формуле обращения (1.35) получим искуственные
“скачки” на краях отрезка, отраженные в значениях коэффициен-
тов вейвлетов. Таким образом, полезными были бы вейвлеты, при-
способленные для “жизни на интервале” [11]. Одним из способов
достижения этого является использование периодизированных
вейвлетов, которые удобно записывать в виде
20
cp0 0(х) = 1 при Л = О ;
^fc(x) =
^2Л =*£,*(*) ПРИ Л = 2П + А
I А I
п = О, 1, 2,...; k = О, 1, 2,..., 2” - 1 ,
где периодизированные базисы вейвлетов
<р£* = £ <Mx + z>; а = о,
/е Z
V- = Z Vj,*(x + Z); A = 0, 1, .... 2n - 1
Ze Z
(1.45)
(1.46)
(1-47)
Анализ функций, заданных на отрезке в базисе (1.45), эффек-
тивен при проведении вычислений, однако его использование оз-
начает анализ периодизированной функции /”(х), определенной
как /п(х) = /п(х - LXJ )) (где LXJ означает наибольшее целое, не пре-
восходящее х) с помощью обычных (непериодизированных) вейв-
летов. И хотя / уже периодична, на границах 0, 1 снова возникают
“скачки”. Избежать скачков на границах можно, заменив функцию
ftx), заданную на отрезке, инверсно-периодизированной функцией
А*) = 1 + (~1)W Ах - LxJ) +
I _ (_ nL*J
+-----(1 - Ах - L*J ) (1-48)
Существуют и другие способы задания вейвлет-базисов на от-
резке [11].
1.3« Интерполирование функций
Будем считать данную функцию /(х) и полином Q^(x) (1.2)
близкими (т.е. имеющими малое “отклонение”), если они совпадают
на заданной системе точек х0 , xt xL_ t (узлы интерполирова-
ния). Таким образом, мы приходим к следующей задаче интерпо-
лирования: для данной функции f(x) найти полином бщ(*)» воз-
21
можно низшёй степени т, принимающий в заданных точках х-
(i = О, 1, ..., L - 1 ; х- Ху при i - j) те же значения, что и функция
f(x), т.е. такой, что Q^x-) = f(xt) (t = 0, 1, ...» L - 1).
Полином называется интерполяционным.
Если L - 1 < пг9 то можно положить т - L - 1 и определить ко-
эффициенты из системы уравнений
а0 + Д1 х0 +... aL_i Хф X = f(xo);,
а0 + аг хг + ... аь_г xf " 1 = Дхр ;
а0 + xL _ х + ... aL _ i xf Z { = f(xL _ р .
Определитель этой системы А есть определитель Вандермонда:
д= П
О < р < q < Л /
и, следовательно, система (1.49) имеет единственное решение.
Полином Qm(x) ~ - i(*)» коэффициенты которого определя-
ются из системы (1.49), называется интерполяционным полино-
мом Лагранжа для функции /(х) и может быть записан в явном
виде:
L-1
К*) = Е f(xi) , (1.50)
1 = 0
где
(x-x0)...(x-xz_1)(x-xf ^...(х-х^,!)
Р*„(х) =-----ii—-----—--------—---------— . (1.51)
(Xi Xq)..,(Xj Xj _ jXXj Xj+2)...(Xi Xl _ i)
Это классический метод решения задачи алгебраического ин-
терполирования функций. Интерполяционный полином Лагранжа
явным образом выражается через фундаментальные многочлены
(1.51), такие, что каждый из них принимает значение, равное еди-
нице, в одном из узлов интерполяции и нулевые значения в ос-
тальных.
Задачу интерполяции можно решать с использованием других
базисных систем функций, которые были рассмотрены выше. Ос-
22
тановимся здесь только на применении сплайнов. Отметим, что
найдены такие фундаментальные сплайны порядка п дефекта 1
по которым построена интерполяционная формула Лагран-
жа для сплайнов
L- 1
Six) = Z Кх1> • <1.52)
/ = 0
Рассмотрим простейшую задачу приближения сплайнами. По-
строим сплайн 8г(х) = Sr(f; x)t совпадающий с f(x) в точках
r; = AZe[O, f] , 1 = 0, 1.L-l, h = ~~, (1.53)
— 1
Из определения сплайна (1.20) получается система 2L - 2
уравнений:
«1(А х<) = f(xi) , I = 0, 1..L - 1 ;
= + » / = 0>1.....Ь-1.
Эта система распадается на системы уравнений относительно
коэффициентов отдельных многочленов
si(f> xi) = а? = f(xi) ;
S^f; xl + 1) = a^ + a}(x( + 1-X{) = f(xt + J,
отсюда находим
где ft = f^Xj) .
Тогда из определения сплайна (1.20) будем иметь
51(Ах) = (1-т)^ + т// + 1, (1.54)
где т = (х - hty/h.
Это уравнение интерполяционного сплайна первой степени
дефекта 1.
23
Заметим, что эту формулу можно получить из формулы (1.52),
если в качестве фундаментальных сплайнов взять базисную систе-
му (1.28).
Усложним задачу приближения сплайнами. Построим теперь
сплайн S2(x) = S2(ft х), совпадающий с /(х) в точках (1.53) и имею-
щий первую непрерывную производную. Такой сплайн на отрезке
[xt > X/ + j] есть многочлен второй степени, который можно пред-
ставить в форме суммы линейного многочлена, принимающего на
концах отрезка значения и fl + ± , и многочлена второй степени,
обращающегося в нуль на концах отрезка. Легко проверить, что
такое представление имеет вид
S2№x) = (l^)f/ + VH1+p^(^l), (1.55)
Это уравнение интерполяционного сплайна второй степени
дефекта /, в котором неизвестные параметры выбираются так,
чтобы производная S2(/; х) в точке - hl, где соединяются отрез-
ки [х^ _ х , xj и [х, , Xj + была непрерывна. Это дает систему, со-
держащую L - 1 уравнение с L неизвестными. Один из параметров
pt остается произвольным и может быть выбран из дополнительно-
го условия или задан произвольно. Например, если известно зна-
чение производной от f(x) в точке х = 0, то параметр р$ может быть
найден из условия S2(/; 0) = f(0). Тогда для определения парамет-
ров находим систему уравнений
Ро ~ fl ~ ~ hfo ;
Л+1+Л“Л+1^2Л + Л-1> = 2,..., L - 2.
Наибольшее распространение при интерполяции функций по-
лучили сплайны третей степени S$(x) = S$(f; х).
Кубическим интерполяционным сплайном дефекта 2 (эрми-
товым кубическим сплайном) называют функцию S3(x), удовле-
творяющую следующим условиям:
1) на каждом из промежутков [х^ , xL + х]
S3(x) - af+ а*(х - хр -к af(x - х^)2 + af(x - хг)3 ;
24
2) S3(xz)-/z, 5^) = /;, I -0,1.....L-l. ;
Для вычисления 4L - 4 коэффициентов , k = 0, 1, 2, 3, при
каждом Z имеем систему уравнений
5з<хР = Л’ ЗД+, 1) ” fl + 1 ’ 5з(хР"Л’ 53^+1)”Л + 1’
Решив эту систему, получаем на Гх£ , xL + Л
S3(f; X) = ft (1 - т)2 (1 + 2т) + + д т2(3 - 2т) +
г' +Лт(1-т)р/1-т)-Г; + 1т]. (1.56)
Если производная в узлах сетки неизвестна, то ее можно апп-
роксимировать на основе разделенных разностей, положив
- _ 3/0“ 3/\ + f2 _fl+l~ fl-1
Т°~ 2h 'fl- 2h
1 = 0,1, .... L - 1 ;
6.-3 ~ 4fr, - 2 + 3^L - 1
'i-1- 2h
Заметим, что вторая производная эрмитова кубического
сплайна, вообще говоря, разрывна в узлах сетки. Однако можно
определить кубический сплайн, который является дважды непре-
i рывно дифференцируемой функцией.
Кубическим интерполяционным сплайном дефекта 1 называ-
J ют сплайн S3(x) , удовлетворяющий условиям
s^xi> = fi > l = Q> 1.L~ 1 •
Дополнительные условия
S'3(f; xz) = тг, Z - 0, 1, L - 1 ,
позволяют рассматривать сплайн S3(x) как эрмитов кубический
сплайн, т.е. представить его в виде
S3(A х) = ft (1 - т)2 (1 + 2т) + + (3 - 2т) +
+ hi (1 - т) Гтг (1 - т) - т1 + ! т
(1.57)
25
и выбрать величины так, чтобы была непрерывна и вторая произ-
водная S3(x) , т.е* выполнялось условие S3(/; х^ + 0) = S3(/; - 0) в
точках Хр I - 0, 1, ..., L - 1 .
Эти условия вместе с краевыми условиями (употребляются
различные виды краевых условий) достаточны для определения L
неизвестных из решения некоторой системы линейных алгебра-
ических уравнений.
В некоторых случаях более удобным является другое пред-
ставление кубического сплайна, в котором вместо величин ис-
пользуются = S3(x^) , Z-0,1, L - 1 . В этом случае интерпо-
ляционный кубический сплайн можно представить в виде
53(Ах) = ^(1-т) + /г + 1т +
>2
+ ^-T(l-T)[(2-T)zz + (l + T)z/ + 1]. (1.58)
Численные схемы вычисления интерполяционных кубических
сплайнов на равномерной сетке в разных постановках и для раз-
ных краевых условиях приведены в приложении 1.
Заметим, что если L - 1 > тп, т.е. число узлов интерполирова-
ния превосходит степень полинома больше, чем на единицу, то за-
дача интерполирования становится, вообще говоря, невозможной.
В этом случае обычно прибегают к точечному квадратичному апп-
роксимированию функции.
1.4. Точечное квадратичное аппроксимирование
функций
1.4.1. Метод алгебраических полиномов
При точечном квадратичном аппроксимировании за меру от-
клонения полинома
(?т(х) = а0 + ах ж + а2 г2 + ... + <хт х™ <1-59>
от данной функции у = /(х) на множестве точек х0 , хх _ i
принимают величину
26
К 1-1
' 8 = 2 [«Л)-/(*!>]2 . (1-60) "
Е z = оL
В называемую квадратичным отклонением.
К Для построения аппроксимирующего полинома требуется по-
t добрать коэффициенты а0 , , а2 ат так> чт°бьт величина S
с была наименьшей. Предположим, что В случае
•f т = L - 1 коэффициенты а- (у = 0, 1, L - 1) можно определить
из системы уравнений
: QL.1(xJ = /(x.) при i = 0, 1, L - 1 , (1.61)
причем S = 0, и приходим к разработанной выше проблеме интер-
полирования функций. При т £ L - 1 система (1.49), вообще гово-
I ря, несовместна. Поэтому сама постановка вопроса о точном ре-
шении теряет смысл. Решение нашей задачи аппроксимирова-
ния следует из минимизации функционала (1.60) и приводит к
? решению
у . А = [хт х]- 1 ХТ FT , (1.62)
f где
Г1 г т2 гт
, . 1 Хо Хо ... Хо
L х= 1 х’ **
— матрица-строка т + 1 основных функций ф0(х) = 1 , ф^х) ~ х,
Ф2(х) = х2,..., Фт(х) = х'71,..., значения которой, вычисленные в точ-
ках xt (I = 0, 1, L - 1), развернуты в вертикальный столбец;
Г F = [/(х0) , /(хх), pj — матрица-строка L значений задан-
ной функции на системе точек х0 , х^ , ...» xL _
L АТ = |~а0 , транспонированная матрица-столбец неиз-
f вестных коэффициентов полинома (1.59).
27
Можно доказать» что если среди точек х0 , хг , ...» xL_1 нет
совпадающих и т <L - 1, то определитель системы (1*62) отли-
чен от нуля.» и, следовательно, эта система имеет единственное
решение.
Е4Л. Метод ортогональных полиномов
/
Пусть
Ро(х) , р^х), ...» рт(х) , (1.63)
заданная система ортогональных квадратично суммируемых на
множестве точек jx0 , хх , ...» xL полиномов (функций). Так
как полиномы (1.63) линейно независимы» то произвольный поли-
ном Qm(x) степени можно представить в виде линейной комбина-
ции полиномов из системы (1.63), т.е.
= ъо р0(х) + ..., + Ът Рт(х) . (1.64)
Это представление называется разложением полинома Q^Cx)
по системе (1*63)-
Задача аппроксимации заданной функции у - f(x) на множест-
ве точек Xq , Xj х^_ 1 ортонормированным полиномом (функ-
цией) данной степени т(т<Ь-1)из условия минимума квадра-
тичного отклонения
L -1
У р(*х) ’ л*1)] =пнп
/ = 0
приводит к алгоритму вычисления коэффициентов (i = 0, 1, ...» т)
по формуле
L- 1
»< = Е • п-65)
1 — 0 »
28
Эта формула получается из (1,62) при условии ортонормиро-
ванности полиномов р/х), так как в этом случае ^Х7* Х^ = Е, а
X = P = P(L, т) =
' Р0(Д°) * Pq(L, 1) * о) Р1(Д 1) * р2(Л, 0) ... * Рт(Д0) ' РМ(Ь.1) *
* • •
* ж
Р0(Ь> L -: 1) P1(L, L - 1) p2(L,L-l) ... рж(ДЬ-1)!
* * * ♦
и элементы матрицы Хт имеют вид
pt(Lt 0 - p(L, 1) ;*(£, I) .
Отсюда искомый аппроксимационный полином имеет вид
т
= (166)
i = 0
Пример. Возьмем в качестве системы ортонормированных
функций полиномы Чебышева (1.14). Пологая I - (х - xQ)/h и учи-
тывая, что для полиномов Чебышева х0 = 0, h = t/Lf находим апп-
роксимационную формулу Чебышева
т
<?«(*) = £ V
»=о Л )
при т < L - 1.
(1.67)
1.5. Интегральное квадратичное аппроксимирование
функций на отрезке
Предположим, что данную непрерывную функцию f(x) нужно
аппроксимировать на Конечном отрезке [0, t] с помощью обобщен-
ных полиномов
Чп<*) = са Фо + С1 <Р1 + ”• + ст <Pm > С1-68)
29
где |фг(х)| — заданная система непрерывных функций и — посто-
янные коэффициенты.
Согласно способу наименьших квадратов коэффициенты q
(i — 0, 1, т) подбираются так, чтобы квадратичное отклоне-
ние полинома Qm(x) от функции Дх), равное
ь
Jw = j p(x)[Qm(X)-f(X>]2dx = min, (1.69)
а
имело наименьшее значение.
Как известно, минимум функции 1т
= 1т(с0...залают
коэффициенты, найденные из системы
МФо • Фо) + С1(Ф1 ’ Фо) + ••• + Ст(Фт • Фо) = Фо> >
<\)(Фо » Ф1) + С1<Ф1 г Ф1) + ... + cm«pm , ФР - (А фх);
t
со(Фо ’ Фт) + С1(Ф1 • Фт) + - + ст(Фт > Фт> = <А ФМ) ’
где
b
(рФг » фЛ = J Р(х) Ф*О) Ф/х) dx .
\ 7 а * •
Доказывается, что если <р0(х) Фт(х) линейно независимые
на отрезке [а, Ь], то система (1.70) имеет единственное решение,
которое соответствует наименьшему квадратичному отклонению.
При этом если система j<pjx)| есть система базисных сплайнов
(1.22), то матрица системы (1.70) есть матрица с диагональным
преобладанием и может быть решена методом прогонки. Более
того, если система {(^(х^ортонормированна, то коэффициенты
(^вычисляются особенно просто:
30
d
= J P(*) Я*) Ф*(х) dx • (1-71)
a
Коэффициенты cL , определяемые формулой (1.71), называют-
ся коэффициентами Фурье функции f(x) относительно заданной
ортонормированной системы с весом р(х).
Таким образом, справедлив вывод: обобщенный полином с ко-
эффициентами Фурье данной функции обладает наименьшим
квадратичным отклонением от этой функции по сравнению со
всеми другими обобщенными полиномами того же порядка т.
Замечание 1. Если система ортонормированных функций |<р^(х)| тако-
ва, что для любой непрерывной функции f(x) справедливо соотношение
Нт 1т = О, то эта система называется полной. В противном случае — не*
т —> «
полной.
Замечание 2. Формула (1.71) называется прямым преобразованием
Фурье, а формула (1.68) — обратным преобразованием Фурье.
Глава 2. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
НА ПРИБЛИЖЕНИЕ ФУНКЦИЙ В СРЕДЕ MATHCAD
В этой главе приведены примеры решения задач в среде Math-
cad на методы приближения функций, рассмотренные в первой
главе. Каждый рассмотренный пример является рабочим докумен-
том Mathcad и может быть полностью воспроизведен в системе
Mathcad.
Пусть на конечном отрезке заданы функции:
/1(х) =
вх+4
____о
2х7 + 5
/2(х) = cos
(2.1)
(2.2)
31
/3(х) = 1(х - 0,25) - 1(х - 0,77) ; (2.3)
/4(х) = 1(х - 1/4) - 2 • 1(х - 1/2) + 1(х - 3/4) ; (2.4)
/5(х) = 1(х - 0,105) - 1(х - 0,205) ; (2.5)
Г6(х) = 10/4(х) sin (8ях) + 20f5(x) ; (2.6)
Рассмотрим различные методы их приближения.
2.1. Интерполирование функций на отрезке
Пример 1. Требуется интерполировать функцию (2.1), задан-
ную на системе точек (на равномерной сетке или таблично) х{ = hl,
I = 0, 1, ..., L - 1, где хг е [0, t] и h = — кубическим интерпо-
XJ — 1
ляционным сплайном (П.1), который удовлетворяет краевым ус*
ловиям (П*3).
Решение задачи*
1. Зададим функцию (2*1) табличным способом.
Положим:
хп := 0 хк:=» t - начальное и конечное
1 значение функции (2.1)
1:=O..L-1 Н;=£-“ xi:=hl У1= Г(*1)
Находим:
? = ( 0 1 2 3) ут = ( 0.033 0.881 0.047 4.149 х 10"3 )
2. Интерполируем функцию (2.1) кубическим сплайном на
равномерной сетке*
32
г
2.1. Составим и решим систему алгебраических уравнений
(П.6), обеспечивающих выполнение непрерывности первой и вто-
рой производной кубического сплайна:
а) представим эту систему в матричном виде DV = С, где мат-
рицы D и С находятся с использованием программирования:
Щ):- Do o*~2 > for ie 1..L-2 n 1 1 D л xk- xn h< L- 1 CL ХП Co 2 I —f(ct) | ^da J for le 1..L-2 r 3 [f[h (1+ l)]-f[h(l-l)J]
1 2-h a xk Сц <- 2 • i-f(a) da C
Замечание. Сеточная (табличная) функция f(X[) и значение ее произ-
• водных в начальной и конечной точках отрезка [0* 0 формируются в про-
; грамме С(/, L, xnt xk) по передаваемой в нее аналитически заданной функ-
L: ' ции Дх);
б) решаем эту систему методом обращения матрицы D:
Mi-DfL)"1 C(f,L,xn,x$ < 2 0 0 0 ^ <2.4 A 0.5 2 0.5 0 0.02 D(L)» C(f ,L,xn,ri$ - M = 0 0.5 2 0.5 -1.315 0 0 □ 2 J -0 .017 ) ' 1.2 A -0.135 -0.622 < -8.2» x 10“3 J
i
Столбец М содержит L неизвестных /nz (I = 0, 1, L - 1), ко-
торые гарантируют непрерывность первой и второй производной
сплайна S3(/; х).
33
2.2. Составляем программу вычисления интерполяционно-
го кубического сплайна по системе точек (ПЛ4), где JV1 — ко-
личество точек, в которых вычисляется сплайн S3(/; х) на отрезке
ГХ1, , Z = 0, 1» ...» L - 2:
эск)-:=
xk - xn
--------
L- 1
for leO„L-2
for me 0.. N1
p -f- N1 1+ m
tn
p N1
Sp<-fl<h l) (l-»p)2 (1+2 tp) -
+f[h (l+l)]-(tp)J (3-2 tp) ...
+Mj h rp (1 - TP)S - MM h- (tp)2 . (1 - tp)
2.3. Строим графики заданной функции и ее интерполяцион-
ные сплайны SI = х) и S3 = S3(f; х) (рис. 2.1).
34
Меняя параметр L, можно исследовать приближение функции
f(x), заданной таблично (табличные значения функции выделены
на графике квадратиками). Например» при L = 8 получим реше-
ние, показанное на рис, 2.2,
Рис, 2.2
Замечание. Для осуществления сплайновой интерполяции Mathcad
содержит встроенную функцию interp (Р Y, X, У, т), которая возвращает
значение з(т) := interp (PY, X, У, т) для заданных векторов РУ, X, Y и за-
данного значения т. Пара (X, У) задает искомую функцию на равномерной
сетке (опорные точки). Вектор РУ — вектор вторых производных сплайн-
функций при различном виде интерполяции. Функция cspline (Xt У) воз-
вращает вектор РУ вторых производных при приближении в опорных точ-
ках к кубическому полиному. Функция pspline (Xf У) возвращает вектор
РУ вторых производных при приближении к опорным точкам параболи-
ческой кривой. Функция Ispline (X, У) возвращает вектор РУ вторых про-
изводных при приближении к опорным точкам прямой. Решение задачи
(2.1) при тех же параметрах с помощью функции interp (Р X У» т)
можно разбить на три этапа:
1) вычисляем векторы вторых производных:
PY := cspline(X.Y) PYT = ( 0 3 2 -4.156 -1.682 0.792 3.266)
PY1 := psplme(X,Y) PY1T = ( 0 3 1 -2.3 -2.3 1.41 1.41)
PY2 := lspline(X,Y) PY2T = ( 0 3 0 0 -3.008 1.94 0)
35
2) формируем сплайн-функции трех типов:
ЗМ(т) intMp(PY,X,Y,t) SMl('t)'inteip(PYl,X,Y,т)
SM2(t) := mteip(PY2,X,Y,t)
3) по сформированным сплайн-функциям строим их графики
(рис. 2.3).
Пример 2. Требуется интерполировать функцию (2.1), задан-
ную на системе точек (на равномерной сетке или таблично) xt - hl,
I = 0, 1.
L - lt где X} g [0> f] и h = —
Lj “ 1
алгебраическим поли-
номом (1.59).
Решение задачи/
1. Зададим функцию (2.1) табличным способом.
Положим:
t>3 L:=5
xn > 0 xk := t - начальное и конечное значение функции (2,1)
1
б х + -
l^O L-1 xtхп + 1
2 х7 + 3 L”t
36
Находим:
хТ = ( 0 0.75 1.5 2.25 3) у^Л оДЗЗ 0.886 0.234 0,023 4.149 хИГ*)
2. Интерполируем функцию (2.1) алгебраическим полиномом
на равномерной сетке но алгоритму (ПД9).
2.1. Составляем программу вычисления коэффициентов ин-
терполирующего полинома (П.16) по алгоритму (ПЛ 9):
A(f,L.xn,d$ := . . хк- хп hl < L- 1 for he0..L - 1 Fhi0<-f(hl-h) for he0..L- 1 for i e 1.. L - 1 Plhii,4- (hl • h/ B<-PCl-F В
2.2. По составленной программе находим коэффициенты а( ал-
гебраического полинома Q(x) и формируем его:
L-1
аA(f,L,xn,xk) аТ = ( 0 .033 3.737 -4.856 2.07 -0.289) Q(x) ®i х1
i =0
2.3. Строим графики заданной функции (2Л) и ее интерполя-
ционного полинома Q(x) (рис. 2,4). Сеточные (табличные) значе-
ния функции, по которой строится интерполяционный полином,
выделены на графике квадратиками.
37
Рис. 2.4
2.2. Точечное квадратичное аппроксимирование
функций на отрезке
Пример 1. Требуется аппроксимировать функцию (2.1), задан-
ную на системе точек (на равномерной сетке иди таблично) = hl,
1 = 0, 1, ..., L - 1, где х( е [0, f] и h = —-—
Lt — 1
алгебраическим поли-
номом (1,59).
Решение задачи.
1. Зададим функцию (2Л) табличным способом.
Положим:
t>3 L>20
xn := 0 хк := t
6-хЛ
ОД:=——
2 х7 + 5
1:=O..L- 1
- начальное и конечное
значение функции (2.1).
Находим;
yi>fM
xk- хп 4
Xi := хп +---- 1
1 L- 1
2. Аппроксимируем функцию (2Л) алгебраическим полино-
мом на равномерной сетке по алгоритму (ПЛ8).
38
2Л. Составляем программу вычисления коэффициентов апп-
роксимирующего полинома (ПЛ6) по алгоритму (ПЛ8):
A(f,L,N,xn,xk) := 4 t xk - xn hl < L- 1 for heO. L- 1 |Hh|0 4- 1 h) for heO..L-l for i e 1.. N - 1 Plhll<-(hl h)1 В <- (plT Pl)-1 P1T . F В
2.2. Применяем программу для аппроксимации заданной
функции (2.2).
Вариант 1.
• По составленной программе находим коэффициенты ал-
гебраического полинома Q(x) и формируем его (линейная
аппроксимация):
( 0.6183187 А
N ;» 2 а:= A(f,L,N,xn,xfc) Q(xl) > (ц, + ar х1
V -0.215404 ) 4 '
• Строим графики заданной функции (2Л) и ее аппроксима-
ционного полинома Q(x) (рис. 2.5). Сеточные (табличные)
39
значения функции, по которой строится аппроксимацион-
ный полином, выделены на графике кружочками.
Вариант 2.
• По составленной программе находим коэффициенты ал-
гебраического полинома Q(x) и формируем его (квадратич-
ная аппроксимация):
( 0.405574 >
N := 3 а :•= A(f,L,N,xn,xk) а = 0.2337237
о
Q(xl) ао + • xl 4- xl
V -0.1497092 )
• Строим графики заданной функции (2.1) и ее аппроксима-
ционного полинома Q(x) (рис. 2.6). Сеточные (табличные)
значения функции, по которой строится аппроксимацион-
ный полином, выделены на графике кружочками.
Рис. 2.6
Вариант 3.
• По составленной программе находим коэффициенты ал-
гебраического полинома Q(x) Л’-й степени и формируем его:
N-1
N := 5 а:= Q(xl) := ^ а, х?
i =0
40
• Строим графики заданной функции (2.1) и ее аппроксима-
ционного полинома Q(x) (рис. 2.7). Сеточные (табличные)
значения функции, по которой строится аппроксимацион-
ный полином, выделены на графике кружочками.
Пример 2. Требуется аппроксимировать функцию (2*2), задан-
ную на системе точек (на равномерной сетке или таблично) х; - hl,
I - 0» 1, L - 1, где X} е [0, i]n й = —-—
L — 1
используя ортонорми-
рованные дискретные полиномы Чебышева (1.13).
Решение задачи.
1. Зададим функцию (2.2) табличным способом.
(6 t 1
t;-2 L:=5 ft > cos-1
* V3 L )
tn > 4 - степень аппроксимирующего полинома Чебышева
s > 3 - породой кратности (sL - количество точек аппроксимации)
2. Находим аппроксимирующий полином (П.24).
2.1. Формируем рекуррентное соотношение (1.14) для про-
нормированных дискретных полиномов Чебышева:
сн £ сн •- Р ( 21 11
ЬгЦ ft .₽ f— Uni j “ " * 1---1
’ JL J(L+1) L )
A „ 1 ПГЗТзПГТИГ
All J .«* / r
i+1 ^(L-i-1) (L+i+1)
CHlii+1:=A(i)
fb 1) "-СНц-СНц 1 ' vtll »_1
3 5 (2 i+1) (2 i-1) ’ _
41
2*2. Вычисляем коэффициенты разложения аппроксимирую-
щего полинома Чебышева (П.23) для функции /(х):
________________________________/____
а:» • СН - коэффициенты разложения
а" (2.0149768 -0.2066513 -0.0587214 1.4240153х 10“3 )
2.3. Формируем рекуррентное соотношение дискретных поли-
номов Чебышева для аппроксимационной формулы (П.24):
1:=0.. s L
i:= l 2
CHl'°;= J
/3(L-1) Г 2 1 1
^(L+ 1) L [(к-!) -s J
A(i) :=
[ (2 -1+ 3) (2 1 + 1)
<L-i- 1) (L + i+ 1)
CHlti+lAQ -
-СН1(1-СНм-1
1 (L+i)(L-i)
(2 • i+1) • (2 • 1-1)
2.4. Формируем аппроксимирующий полином по системе дис-
кретных ортонормированных полиномов Чебышева:
Q а СНТ
2.5. Строим графики заданной функции (2.2) и ее аппроксима-
ционного полинома Q(x) (рис. 2.8). Сеточные (табличные) значе-
t .
q > - • 1 - система точек на которой заданы
L исходные данные.
k:=O .s L
хь > —— к -система точек на которой вычисляется
s L аппроксимационное приближение.
Рис. 2.8
42
ния функции, по которой строится аппроксимационный полином,
выделены на графике кружочками.
Пример 3. Требуется аппроксимировать функцию (2.3), задан-
ную на системе точек (равномерной сетке или таблично), исполь-
зуя быстрое вейвлет-преобразование Добеши порядка два (П.40),
(ПЛ5).
Решение задачи.
1. Зададим табличную функцию по аналитически заданной,
функции (2.3) и построим ее график (рис.2.9).
Рис. 2.9
2. Сформируем программу вычисления аппроксимирующих
вейвлет-коэффициентов на J-м уровне разрешения, предполагая,
что функция продолжена периодически на всю числовую ось и
8J, k ~ :
Sd2phi(g,J) :» forke0..2J-l
Isiа, |sk si 3 :и for i e D.. 2 for k e 0.. 2J - 1 ST _ 51 . Зъ И оТ'оТ 1 Г1 1 ТПТо
51
3. Сформируем программу вычисления аппроксимирующих и
детализирующих вейвлет-коэффициентов уровней J - 1,J -
43
по аппроксимирующим коэффициентам J-ro уровня (см. приложе-
ние 2).
• Формируем матрицу коэффициентов фильтра Добеши по-
рядка два. 4 * *
h := т4'(1*'5) Т~ё (з^> A'11’1® Гл (1"#1 4 • ^2 4 ^2 4 • 4*^2 J
Формируем программу:
DS_d2(J,A,h) := for v eD..3- (sJ- 1) <- Av for pe U for veOJ-2J"p-3 3 m =0 3 dJ-p,V С"1)231 • Sj_p+12.v+m m =0 AD ( S d )
4. Формируем программу для вычисления коэффициентов
аппроксимации для уровней разрешения - 1 в базисе До-
беши порядка два и вычисляем эти коэффициенты:
X(J,A) := D< H DS_d2(J,A,h)o J
S 4 - DS_d2(J,A,h)o,o
for ’ Y| € 0.. J - 1
X for ns qj - 1 for k € 0.. 2й - 1 2+b ,4 Л for П€0..2П - 1 *- ,n
f 1.768 1J12 0095
0.371 0,988 1.414
0.729 0.729 1.544
-0.912 -0.912 0.483
0354 0354 0.354
0 0 0
0.483 0.483 0.483
< -0,129 -0129 -0,129 j
44
Замечание. Каждый столбец матрицы X может быть использо-
ван для выполнения обратного вейвлет-преобразованйя (ПЛЗ), ис-
пользуя интервальный вейвлет-базис (П.37). Однако лучше ис-
пользовать быстрое обратное вейвлет-преобразование (ПЛ5).
5. Формируем программу быстрого обратного дискретного
вейвлет-преобразованйя (текст программы см. в приложении 2).
6. Вычисляем заданную функцию f(x) и две ее аппроксима^
ции. Первая учитывает все детализирующие коэффициенты, а
вторая только первые 2J - 2J “ b
X1:=X(J,S) Al := BOWP dZfXl.J.h) A1T = ( 0 0 1 1 1 1 10)
p := 4 j := 0.. p 2* - 1 Xj > —— yj f(xj) X2 > X(J ,S)
Jl := J - 1 P'2
a>2”../-I p >0.2 X2a>p >0 A2 > BOWP d2(X2,J,h)
7. Строим графики заданной функции и ее аппроксимаций
(рис. 2.10).
Замечание. В ядро системы Mathcad включены две функции для вейв-
лет-преобразований: wave (V) быстрое прямое дискретное вейвлет-преобра-
зование действительных чисел, где вектор V содержит 2^ чисел первого
уровня разрешения, упорядоченные другим образом, чем в рассмотренном
примере (см. программу iwave (X) —быстрое обратное дискретное
вейвлет-преобразование относительно преобразования X = wave (V), На-
пример» для нашей задачи, имеем:
45
1.Я2 0,982 -OP12 0.729 -0.129 0354 0 0.483)
iwttTe(wbve(gOT «(001111 10)
2.3. Интегральное квадратичное аппроксимирование
функций на отрезке
Пример 1. Требуется аппроксимировать функцию (2.2), задан-
ную на отрезке [0, f], используя ортонормированные непрерывные
полиномы Лежандра (1.4).
Вариант 1.
Решение задачи*
1. Зададим параметры, при которых решается поставленная
задача:
t :« 3 L > 4
L1 > 30 - количество значений аппроксимированной
заданной функции на отрезке [0, t]
2. Вычисляем коэффициенты Фурье (П.28) аппроксимирую-
щего полинома (П.26) заданной функции (2*2), используя квадра-
турный алгоритм Гаусса (П.32).
2.1. Формируем нули и веса квадратуры Гаусса для отрезка
[0, t] по их стандартизированным значениям (П.29), заданным на
отрезке [~ 1,1]:
-0,968160239 > 0.0812743884 51
-0.836031107 0.1806481607
-0613371433 0.2606106964
-0.324253423 0.3123470770
0 со > 0.3302393550
0.324253423 0.3123470770
0,613371433 0.2606106964
0.836031107 0.1806481607
0.968160239 > < 0,0812743884 ;
<k):= (l + aj-
- формула пересчета значений абсцисс
квадратуры Гаусса на отрезок
A(k) > - - - формула пересчета значений коэффициентов
2 квадратуры Гаусса на отрезок [0,t] ч
2.2. Вычисляем L ортонормированных непрерывных полино-
мов Лежандра по рекуррентному соотношению в абсциссах т(Л):
2.3. Вычисляем коэффициенты Фурье заданной функции /(х):
f(x) ;= -----i- - заданная функция.
2 х7 + 5
zh11$) •
АiT Pl - прямое преобразование Фурье.
А-( 0.541 -0.377 -0.163 034)
3. Вычисляем аппроксимацию заданной функции на системе
равноотстоящих точек отрезка [0, £] с шагом h = —, началь-
L1 ~ 1
ное значение равно нулю:
p:=O..Ll - 1
- вычисление' L1 значения равноотстоящих
точек отрезка [0, t].
- вычисление значений заданной функции
в L1 точке отрезка [0, t].
3.1. Вычисляем полиномы Лежандра по рекуррентному соот-
ношению (1.14):
3*2. Строим графики первых трех полиномов (рис. 2.11).
Рис. 2.11
48
3.3. Вычисляем аппроксимированную заданную функцию в £1
( точке отрезка [0, t] (обратное преобразование Фурье):
t:
а * Р Ат - обратное преобразование Фурье.
ят * 9^9НИЗИИИВННИВ1
МН -0.04 I 0.1 73 I 0.348 I 0.468 I 0.596 I 0.674
3.4. Строим графики заданной дискретной функции и ее апп-
роксимацию (рис. 2.12.).
Замечание, Задача аппроксимации заданной функции реша-
1 лась по четырем коэффициентам Фурье, т.е. при L - 4. Если поло-
жить L - 10, то аппроксимация заданной функции цриведет к ре-
зультату, который показан на рис. 2.13.
Вариант 2.
Решение задачи.
1. Вычисляем коэффициенты Фурье (П.28) аппроксимирую*
щего полинома (П.26) заданной функции (2.2), испрльзуя алго-
ритм метода наименьших квадратов (ПЛ8).
1Л, Формируем программу вычисления L ортонормирован-
ных непрерывных полиномов Лежандра на системе точек -=гг
(/ = 0, 1, ...,£- 1)по рекуррентному соотношению (1-5):
1.2. Формируем программу вычисления коэффициентов Фурье
по таблично заданной функции f(x^) на системе точек хг - -1
(Z = 0, 1, ...» XI):
AP(f ,L1 »L,t) > р <- РЦЫ ,L,t) X«- (рт р) рт f X
1.3. Вычисляем коэффициенты Фурье по таблично заданной
функции f(X}) на системе точек 1 (I « 0, 1, XI):
50
- заданная функция.
2. Вычисляем аппроксимированную заданную функцию f(x)
на системе равноотстоящих точек отрезка [0, f] (обратное преобра-
зование Фурье) и строим ее график (рис. 2.14):
Р > PL(L1 Л,t) - программа вычисления
полиномов Лежандра.
А AP(f,L1 ,L,t) - программа вычисления
коэффициентов Фурье.
fl - Р А - обратное преобразование Фурье
Рис. 2.14
Пример 2. Требуется аппроксимировать функцию (2.2), задан-
ную на отрезке [О, t], используя ортонормированные непрерывные
косинусоиды (1-9).
Решение задачи.
1. Зададим параметры, при которых решается поставленная
задача:
51
t>3 L>5
LI > 30 - количество значений аппроксимированной
заданной функции на отрезке [0, t].
2. Вычисляем коэффициенты Фурье (П.28) аппроксимирую-
щего полинома (П.26) заданной функции (2.2):
f(x) - —----- - заданная функция.
2 / + 5
Во :=
m:» 1.. L - 1 - прямое преобразование Фурье,
I х А
f(x) • cosl m л - I dx
BT-(0J38 0.414 -0.119 -0301 -0.19)
3. Вычисляем аппроксимированную заданную функцию в LI
точке отрезка [0» t] (обратное преобразование Фурье) и строим ее
график (рис. 2.15):
р:«0..Ы-1
у = t [ —?— ] - вычисление L1 значения
ч L1 — 1 1
4 ? равноотстоящих точек отрезка [0, t]
fp := f| t —2— I - вычисление значений заданной
L1 “ 1 / функции в L1 точке отрезка [0, t].
r:®0.. L1-1
« обратное преобразование Фурье.
52
Пример 3. Требуется аппроксимировать функцию (2.1), задан-
ную на отрезке [0, /], используя ортонормированный вейвлет-
базис Хаара (1.38).
Решение задачи.
1. Введем функцию (2.1) и зададим параметры, при которых
решается поставленная задача:
с > 3 J > 3 “ уровень разрешения.
( 1
Г Х+ б J
f (х) :* ——;~ - заданная функция
9 <
2. Вычисляем аппроксимирующие вейвлет-коэффициенты за-
данной функции f(x) для J-ro уровня разрешения (П.39).
Вариант 1. Используя квадратурный алгоритм Гаусса, выпол-
няем две операции.
• Формируем нули и веса гауссовой квадратуры для отрезка
’ut (U + l)t
2J ’ 2J
данным на отрезке [-1,1] (приложение 1):
по стандартизированным нулям и весам, за-
т(1 v) = - 2-v + ^ + f 1111 -»
Ц1, v; .= 2J+1
Вычисляем аппроксимирующие вейвлет-коэффициенты за-
данной функции (2.1) для J-ro уровня разрешения:
53
8
% (1) v)) - прямое преобразование
1-0
v:= О 2J-1 Alv:»Slj(v)
А? - (0 274 0,74 0P35 0.479 0.141 0,044 0,016 6.685 x 10"3 )
Делаем это в двух вариантах. Вариант 2. По стандартной программе интегрирования:
,(V+l)p S2j(v) :=л/Р Цх) dx A2v:-S2j(v) J , * A2T=( 0.274 0.74 0.935 0.479 0.141 0.044 0.016 6685xlO'J)
Вариант 3. По средним значениям интегралов:
S3j (v) := —± V2J A3T = ( 0.274 0.74t (2-v + 1) t 2 5 0.979 0.463 АЗч:=ЗЗд(у) 0.132 0.041 0.015 6.481 x 10"3 )
3* Вычисляем аппроксимирующие и детализирующие вейв
лет-коэффициенты для уровней J - 1, J - 2,..., О по аппроксими
рующим коэффициентам» вычисленным для J-ro уровня, т.е. при
меним быстрое прямое вейвлет-преобразование (П.40), где М = 1
54
Матрицы этих вейвлет-коэффициентов имеют вид
f 0.939 1.231 0 0.097 0 0 0 0 0 0 0 0 0 0 ° ) 0
DS ( J, А3)о в = 0.721 1.02 0.122 0.015 0 0 0 0
s 0.274 0.746 0.979 0.463 0.132 0.041 0.015 6.481 х t0*3 )
f 0,802 0 0 0
D5(J,A3)01^ -0.211 0.076 0 0
< -0.334 0.365 0.064 6.215 x 10"3
4. Формируем программу для вычисления коэффициентов
аппроксимации (П.41) в базисе Хаара и вычисляем эти коэффици-
енты:
X(J,A) X (J , A3)T - ( 0.939 D DS ( J , A) 0 i ! S<- D3 (J , A)q(0 tor ne 0 .. J - 1 for k« 0 .. 2n - 1 ^2*+к ( k Xq Sq Q X 0.802 -0211 0.076 -0.334 0.365 0.064 6.215 x 10“3 )
5. Формируем алгоритмы быстрого обратного вейвлет-преобра-
зования (П.45), использующий аппроксимирующие вейвлет-коэф-
фициенты J-ro уровня, таким образом:
• формируем программу быстрого обратного преобразования,
т.е. программу вычисления аппроксимирующих вейвлет-ко-
эффициентов <7-го уровня:
55
* формируем программу аппроксимации заданной функции
по найденным аппроксимирующим вейвлет-коэффициентам
«/-го уровня. Параметр и определяет количество точек апп-
роксимации на интервалах ее постоянства:
• вычисляем заданную функцию и ее аппроксимацию и стро-
ем ее график (рис. 2.16).
56
Рис. 2.16
Пример 4» Требуется представить аналитически заданную
функцию (2,6) на отрезке [ОД] обобщенным полиномом в базисе
Добеши порядка два (1.40)
Решение задачи.
Замечание. Тексты программ, используемые в этом примере и
не приведенные в нем, смотри в [16].
1. Зададим функцию (2.6):
( И ( 21 ( 3
fl(x) := ф| х - - - 2 - Фх--------I + Ф х------
\ 4^ \ 4у \4
f2(x) > Ф(х - 0105) - Ф(х - 0205)
ftx> := fl(x) sin(8 • я х) 10 + Q(x) • 2р'
2. Вычисляем базисную (j, л)-ю масштабирующую функцию
Добеши порядка два:
1) вычисляем масштабирующую функцию (р(х) вейвлета Добе-
ши порядка два, используя программный модуль Ka_phi_d2(J).
Результат работы этой прграммы хранится в базе данных (файл-
phi. pm) и вызывается из базы данных при помощи оператора
READPRN:
57
A > READPRN (11 d:\Rw\SM-mc dtf'iSWm-ddXphi^a.pm'1)
Л := 8 - количество итераций при формировании
масштабирующей функции.
2) строим график масштабирующей функции вейвлета Добе-
ши порядка два (рис, 2,17);
Рис. 2.17
3) вычисляем и строим графики четырех масштабирующих
функций Добеши порядка два при j = 2и п “ 0,1,2,3 на отрезке [0,1]
58
(рис. 2.18), используя программный модуль Wd%phil(x, j, п) фор-
мирования базисных (у, п)-масштабирующйх функций Добеши по-
рядка два.
Параметры, передаваемые в программу Wd2hiA(xi л): j —
параметр сжатия; п — параметр смещения; х — произвольная
точка отрезка [0,3].
3. Вычисляем аппроксимирующие коэффициенты J-ro уров-
ня для параметра сдвига k = - 2, - 1, 0, 1,..,,2J - 1» используя про-
грамму вычисления аппроксимирующих коэффициентов в базисе
Добеши порядка два по методу наименьших квадратов Sl(£, J):
4. Вычисляем заданную функцию Дх) и ее аппроксимацию по
формуле обратного вейвлет-преобразования (П.46), реализованно-
го в программном модуле £1(D, J, g):
В этой программе:
J = 1, 2, 3, ... — параметр сжатия (масштабирования), кото-
рый определяет уровень, на котором осуществляется аппроксима-
ция функции;
р = 1, 2, 3, ... определяет количество значений (p2J +1) иско-
мой функции /(х), заданных на отрезке [0, 1];
D — вектор аппроксимирующих коэффициентов заданной
функции порядка 2^+1 для k = - 2, - 1, 0,1,...,#7 - 1.
5. Строим графики заданной функции и ее аппроксимации
(рис. 2.19). .
59
Рис. 2.19
6. Повторяем вычисления для функции (2.7):
• задаем функцию
fl(x) := фГх- Л - 2 ф(х- -'l + ф(х - f(x) 20
\ 4/ V \ 4J 1+2-х
• строим график функции и ее аппроксимацию(рис. 2.20).
Рис. 2.20
Рассмотренные примеры аппроксимации функций не дают
полного представления о характере приближения функций с ис-
пользованием разных базисных систем. Для выяснения характера
приближения необходимо провести графический анализ прибли-
жения функций: 1) меняя параметры, при которых решаются за-
дачи; 2) меняя функции в рассмотренных примерах; 3) сравнивая
полученные результаты.
60
Приложение 1
I ВЫЧИСЛИТЕЛЬНЫЕ СХЕМЫ ПОСТАНОВОК
i И РЕШЕНИЯ ЗАДАЧ АППРОКСИМИРОВАНИЯ
> И ИНТЕРПОЛИРОВАНИЯ ФУНКЦИЙ
<
1. Интерполирование функций сплайнами на отрезке
1.1. Постановка задачи
Дана функция Дх) на системе точек xt = hl, I - 0, 1,..., L - 1,
где xt € [0, t] и h = .
Li — 1
Требуется найти интерполяционный кубический сплайн
S3(x) = S3(/; х) непрерывный вместе со своими первой и второй
производными, который для хе [xi , xt + J представим в виде
S3(f; х) = /((1 + т)2 (1 + 2т) + ft + J т2 (3 + 2т) +
+ Лт(1 - т) £mz(l - т) - mt +х т] (П.1)
или в виде
Л2
S3(f; х) = /Д1 - т) + fl+ jT + ~ т(1 - т) х
х [(2 - T)z, + (1 + t)zz + , (П.2)
где т = = f(xz) ; mt = S3(f; xf) ; zz = S3(/; xj) и который
удовлетворяет краевым условиям:
S3{f-,Q) = f\f',Q)-, S3(/; 0 =/(Л t) ; (П.З)
S3(f-, 0) = /'(/; 0) ; S3(/; t) = f \f; f) ; (П.4)
S3(A + 0) = S3(f; xt - 0) 1 = 1,..., L-2. (П.5)
61
1,2. Решение задачи
1. Для краевых условий (П-3) построение интерполяционного
кубического сплайна по формуле (ПЛ)сводится к вычислению L
неизвестных величин nij = гг) из решения системы
т0 “ fo ’
< ^1 + 4тг + ^1 = ||7г + 1-/’/_1]> (пб)
I = 1..L - 2 ;
mL - 1 “ tb - 1 ’
а по формуле (П.2) — к вычислению L неизвестных величин
zl ~ из Решения системы
1 _ 3 £1 - fo
2о 2 h
h +/о
. + + (П7)
1 = 1,..., L-2;
1 _ 3 / Il -1 _ fb - 2
2 zb-2 + zb-l~ h ['Ь-l ft •
2. Для краевых условий (IL4) построение интерполяционного
кубического сплайна по формуле (ПЛ) сводится к вычислению L
неизвестных величин — S3(f; х^ из решения системы
^0 + 2 «1 = 2ft ~ Z0j ‘ 4 ^0’’
1 = 1.. L-2 ;
(П.8)
2 mL - 2 + mL - 2 “ 2ft ИЬ - 1 “ - 2 )+ ~2 tb - 1 ’
62
а по формуле (П.2) — к вычислению L неизвестных величин
г1 - ОД/; xz) из решения системы
*0 = fo ;
2i_1 + 4zz + 2/ + 1 = p-£/z + 1-2/( + /I_1J, 9)
1 = 1,..., L - 2 ;
ZL-1~ fb-2 •
3. Для краевых условий (Г1.5) построение интерполяционного
кубического сплайна по формуле (П.1) сводится к вычислению L
неизвестных величин ml = S^f; xt) по формулам
m1 = dl_l, 1 = 1,..., L- 2; (П.10)
mL-l=dL-4 + 2
/1-1“ 2/l-2 + fb-3
в которых неизвестные величины dt вычисляются из решения сис-
темы
_ 1 + 4dz + dz +1 = -j [/j + 2 - /z] ,
(=1,..., L-4;
1 , , fb-l + 4fb-2~ 5/L-3
2«L-3 + d£.-2- J*
(П.11)
Построение интерполяционного кубического сплайна по
формуле (П.2) сводится к вычислению L неизвестных величин
/nz = S3(/; X}) по формулам
Zq — 2dg dj ; — 1,..., JL — 2,
ZL - 1 “ 2dL - 3 ~ dL - 4 >
(П.12)
63
в которых неизвестные величины dt находятся из решения систе-
мы
я ~ ""
°" Л2 ;
1 + + + 1 “Тз ГЛ +2 “ 2Л+1 + ^1 ’ - min
( Л L J (11.1а)
I 1 = 1. L-4 ;
| , ^L-l~^L-2 + ^L-3
I ^-3 =-------------------•
Замечание, Для вычисления сплайна S3(/; х) на более густой
сетке точек, чем Xj = hl, I — О,..., L — 1, можно задать новый шаг
s = h/N, где N задает количество точек на которое разбивается от-
резок [х^ , х>1 + J , I = О,..., L - 2, и тогда система точек, на которой
будет вычисляться сплайн S3(f; х) , имеет вид
хр = $р, (П.14)
где хр е [О, Z] ; s = Л/Л/; р = Nl + m; а I = О,..., L - 2? т - О, 1,..., N.
2. Точечное квадратичное аппроксимирование
функций на отрезке
ОБЩИЙ СЛУЧАЙ
2,1. Постановка задач
1. Дана основная система функций
|<р0(х) , Ф1(Х)..............фДх) , (ПЛ5)
где х е [О, 0 .
2. Дана функция Дх) на системе точек Xj (I = О, 1,-..» L - 1),
где xl е [0, t] . Требуется найти аппроксимирующий (обобщенный)
полином
64
т.
0(х) = 5; Ф/(х), (п.1б)
который обеспечивает минимум квадратичному отклонению
L -1
„ г л 2
s = X [Q(xz) - Л*,)] •
/ = о L
(ПЛ 7)
2,2. Решение задачи
1. Находим коэффициенты аппроксимирующего полинома:
а) если т < L - 1, то
В = |^Фтф] 1фтРт = const; (ПЛ 8)
б) если пг = L - 1, то
— 1 т
В - Ф F = const (интерполяция), (ПЛ9)
где
<Ро(хо) <Р1(хо) - ФЛ)
Фо<х1) Ф1(х1) ••• Фт(*1)
Ф а
Фо(Х1-1) Ф1(*£-1) — Ф«(Х£-1)
|Л
В = ь‘ ;
L -I
2. Находим аппроксимирующий полином:
Q(x) = £ Ь. <рДх) .
L =0
65
СЛУЧАЙ ОРТОГОНАЛЬНЫХ ФУНКЦИЙ
2.3. Постановка задачи
1. Задана полная ортонормированная с весом p(L, I) система
дискретных функций
fp0(L, Z) , p^L, I) pL _ Z)1 , (IL20)
| * * *
где I - 0, I,..., L - 1.
2. Задана функция f(x) на системе точек xf (I = 0, L - 1),
где x; e [0, Z] . Требуется найти аппроксимирующий (обобщенный)
полином
<?то(х) = Е (П.21)
г=0 * v /
который обеспечивает минимум квадратичного отклонения
L- 1
г -12
S = £ p(L, Z) [Q(xp - f(x;)l . (П.22)
1 = 0
2,4. Решение задачи
1. Находим коэффициенты аппроксимирующего полинома:
L- 1
bt = £ p(Z, I) P^L, Z) f(xt) , i = 0, 1,... ,m<L-l . (П.23)
x - x0
2. Пологая h~t/L и I - —-— , находим аппроксимирующий
полином:
m /
= X biPi[L’~
i = 0 *
(П.24)
где x e [0, f].
66
3. Интегральное квадратичное аппроксимирование
функции на отрезке
3.1. Постановка задачи
1. Задана полная ортонормированная с весом р(/, х) система
непрерывных функций:
Pott, х) , Pitt, х) ,..., pttt, х) . (П.25)
* * * I
2. Задана функция /(х) на отрезке [0, £] , Требуется найти апп-
роксимирующий полином
m
Q(x) = £ b.Pitt, X) , (П.26)
г = О
который обеспечивает минимум квадратичного отклонения
t
2
S = j p(t, х) ^Q(x) - ftx)] dx .
О
(П.27)
3.2. Решение задачи
1. Находим коэффициенты аппроксимирующего полинома:
t
bi = j ptt, X) p*tt, X) fix) dx ,
0 ' “
i = 0, 1,..., m .
2. Находим аппроксимирующий полином:
Q(x) = у bt pt(t, x) .
i = 0
67
4. Квадратурный алгоритм Гаусса для вычисления
коэффициентов Фурье
4.1. Стандартизированные нули fa) и веса fp)
Гауссовой квадратуры на отрезке [-1,1 ]
(количество нулей и весов N=9).
Они имеют вид
- 0,968160239
a = - 0,836021107 - 0,613371433 - 0,324253423 0 ; 0) =
0,324253423
0,613371433
0,836021107
0,968160239
0,0812743884'
0,1806481607 0,2606106964 0,3123470770 0,3302393550 (П.29)
0,3123470770 0,2606106964 0,1806481607 0,0812743884
4.2. Квадратурный алгоритм Гаусса
(первый вариант)
1* Формула пересчета значений абсцисс квадратуры Гаусса на
отрезок [0, £]
/-1 ч *
X, = (1 + аг) 2 .
(П.30)
2. Формула пересчета значений коэффициентов квадратуры
Гаусса на отрезок [0, £]
(П-31)
3. Квадратурный алгоритм Гаусса
У- 1
= X P(f* xz) Лх/) х? * (П.32)
I = о
68
4.3, Квадратурный алгоритм Гаусса
(второй вариант)
1. Формула пересчета значений абсцисс квадратуры Гаусса на
Г vt (w + l)tl .
отрезок I— , ..-
xit и = (%v + 1 + a?j > (П.ЗЗ)
где М — количество интервалов интегрирования квадратуры Гаус-
са.
2. Формула пересчета значений коэффициентов квадратуры
Гаусса на отрезок
vt
м
(и + 1)г
м
2М ‘
(П.34)
3. Квадратурный алгоритм Гаусса
м-1 лг- 1
bi = X Е \ P(f- xl, v) ft*l. u) Pi«’ xl, v) • <n-35)
’ y=0 Z=0
69
Приложение 2
ВЫЧИСЛИТЕЛЬНЫЕ СХЕМЫ ПОСТАНОВОК
И РЕШЕНИЯ ЗАДАЧ АППРОКСИМИРОВАНИЯ
ФУНКЦИЙ В ВЕЙВЛЕТБАЗИСАХ
1. Интегральное квадратичное
аппроксимирование на R
1.1 Постановка задачи
1. Задан ортонормированный вейвлет-базис с компактными
носителями
{фу, feW , j, fe с Z ; А(х) , J, k е , (П.36)
где (рд ft(x) = 2Vi ф(27 х - k) ; 4г k(x) = 2Уг ф(27 х - k) ; j — параметр
сжатия; k — параметр смещения.
2. Задан интервальный вейвлет-базис
f Фп, mW п₽и А=°;
„ । <Р„ 4. i i + mW ПРИ Й = 27 + k,
<mW = i " + (П.37)
j k = 0, 1..2j - 1 ; / = 0,1, 2,...;
[ m, л e Z ,
где n — параметр сжатия; m — параметр смещения.
3. Требуется найти аппроксимирующий полином функции
/(X) в виде
QW = L sj,k4>j,№ = Y so,fe<Po,fcW +
k k
j-i 1
+ X Z aj,k4>j,kW = l X4m4mW, (П.38)
/=0 k k k=o
70
где ад т — коэффициенты аппроксимации в интервальном вейв-
лет-базисе на нулевом уровне разрешения*
1.2 Решение задачи
Вариант 1.
1* Находим аппроксимирующие коэффициенты Sj k
Sjt k = J f(x) (Pj fe(x) dx , k e Z .
(П.39)
2* Находим аппроксимирующие коэффициенты s; к и де-
тализирующие коэффициенты k для уровней разрешения
J-l,J-2>...,Onosz р используя быстрое прямое вейвлет-пре-
образование:
sy - 1,/г S - 2k п * - 2k sjt п * (П.40)
где, например, для вейвлетов Добеши порядка М параметры hk
(gk = (- l)ft й2м -/? — !’ = 0> I»--» 2М - 1) находятся из решения
системы уравнений (1.42), а для вейвлетов Добеши второго поряд-
ка заданы формулами (1.44).
3. Находим коэффициенты аппроксимации интервальных
вейвлет-функций (П.37):
sj,n п₽и А = °;
dJ + i,k + m при h-2! + k,
k = О, 1,..., 2?-1 ; у = 0, 1,2
тп, J е Z
(П.41)
для J = 0.
4. Находим аппроксимирующий полином в виде
J- 1
qw = L 8q k <ро,^ + Х L dj,k «Р/, feW
(П.42)
k k
71
или в виде
1
= Z Z 4« 4 »<«> «п-43»
т Л = 0
Вариант 2.
1. Находим аппроксимирующие коэффициенты s0 k :
$0, k = J Ax) Фо, *<x) dx ’ z (П.44)
2, Находим аппроксимирующие коэффициенты k и детали*
зирующие коэффициенты dj k для уровней разрешения 1, 2, J
по ь , используя быстрое обратное вейвлет-преобразование:
sj 4-1, п ~ X fe + - 2k л) • (П.45)
п v 7
3. Находим аппроксимирующий полином в виде
Q(X) = S Sj, *Фу, ft(x) - (П.46)
k
2, Точечное квадратичное аппроксимирование
функций/заданных на системе точек
отрезка [О, 1]
2Л Постановка задачи
1. Заданы быстрое прямое и обратное вейвлет-преобразования
(П.40) и (П.45).
2. Требуется найти аппроксимирующий полином функции
f(x), заданной на системе точек (на равномерной сетке или таблич-
но) хг = hl, 1 = 0, 1.1-1, где хг е [0, 1] , h = —Ц-, L = 2<
Ху “ 1
<7=1,2,...
72
2.2 Решение задачи
1. Преобразуем функцию /(г) в периодическую fn(x) = f(x - Lx J)*
2* Полагаем
SJ, k = ’ k e z •
(П.47)
3. Находим аппроксимирующие коэффициенты k и детали-
зирующие коэффициенты для уровней J - 1, J - 2, ...» О по
Sj k , используя быстрое прямое вейвлет-преобразование (П.40)*
4. Находим коэффициенты аппроксимации (П.41) интерваль-
ных вейвлет-функций (П.37) для J = 0.
5. Находим аппроксимирующий полином в виде
о 2^-1
Q(x) = E I4.OP (IL48)
т = - 2М + 1 h = О
на сетке хг - hl, I- 0, 1,..., 2^-1.
Замечание. Вернутся к f(xj) , заданной на сетке х^ = hl t
I - 0, 2^ -1, можно, используя быстрое обратное вейвлет-преобразо-
вание (П.45).
73
3. Программные модули быстрого прямого (БПВП)
и обратного (БОВП) вейвлет-преобразований
в базисе Добеши второго порядка
• Программа БПВП:
BPWP_d2(J,A ,h) :=
for v еО.,3- 1)
for p e 1.. J
for v€0..3-2J-₽-3
3
Sj-p,v Ц),» 'SJ-.p+l,2-v+m
m =o
3
dj-p.v ‘ ^,3-m ’ Sj-p+l.S v+m
m =0
for ne 0.. J - 1
for ke 0.. 2n - 1
X„ <- dnh
3 +h,0 ‘
Xo.o 30|0
for i e 0.. 2J- 1
for ke 0..2
Xl
Параметры, передаваемые в программу: <J — уровень разреше-
ния, на котором задана дискретная функция f(x0 на системе точек
Xj = hl, I - 0, 1,,.., - 1; А — массив порядка 3 2?, содержащий
периодическую функцию /п(хг) = f(xt - |_хг_|); к — матрица коэффи-
циентов фильтра Добеши порядка два (1.44).
74
• Программа БОВП:
BOWP_d2(X,J,h) -
So го Хо ,о
for peOJ - 1
for ne0..2p- l
^p,n n
2+n,0
for i e 1 „ 5 • 2J
So,!4*- $o(o
for j € 0.. J ’ 1
for i«2j,2j+l..5 -2J
for к e O..2j -1
dj.H-k dj.Js if i + к < 5 • 2
for j e 0„ J - 1
for ke2J..3- GJ- l) + 2J+1
Sui iL Л ь®-3 + ь°-0 ‘ Зьк -
J ,Л ' +h(j i dj lH1 + ho 3 .djik
S. i Ж Л I *“ (ь°'3 ' Sj.k-l + hV' Sj,k) -
J* ', * ' (^0,0 dj.k-l + hd,2 4),кД
for keC..2J-.l
sib«- Sjh
si
Параметры, передаваемые в программу: J — уровень разреше-
ния, на котором восстанавливается дискретная функция f(x^ на
системе точек = hlt I = О, 2? - 1; X — матрица порядка
/ х 1, содержащая коэффициенты аппроксимации интервального
вей влет-базиса; h — матрица коэффициентов фильтра Добеши по-
рядка два (1.44).
75
Приложение 3
Задания на компьютерную практику
по приближению функций
1, Задайте функцию f(x) таблично и найдите интерполяционный
локальный сплайн, приближающий функцию f(x). Исследуйте гра-
фически поведение сплайн-приближения заданной функции;
1) интерполируйте функцию, заданную таблично, сплайном
первой степени;
2) интерполируйте функцию, заданную таблично, сплайном
второй степени;
3) интерполируйте функцию, заданную таблично, сплайном
третьей (ПЛ) степени, используя краевые условия (П.З), или
(П,4), или (П.5);
4) интерполируйте функцию, заданную таблично, сплайном
третьей (П.2) степени, используя краевые условия (П.З), или
(П.4), или (П.5).
2. Задайте функцию f(x) таблично и найдите точечное квадра-
тичное приближение к ней. Исследуйте графическое поведение
обобщенного ряда Фурье заданной функции:
1) аппроксимируйте функцию, заданную таблично, полино-
мом первой степени; (Линейная аппроксимация);
2) аппроксимируйте функцию, заданную таблично, полино-
мом второй степени. (Квадратичная аппроксимация);
3) интерполируйте функцию, заданную таблично, полиномом;
4) аппроксимируйте функцию, заданную таблично, обобщен-
ным полиномом в базисе дискретных полиномов Чебышева;
5) аппроксимируйте функцию, заданную таблично, обобщен-
ным полиномом в базисе дискретных полиномов Кравчука;
6) аппроксимируйте функцию, заданную таблично, обобщен-
ным полиномом в базисе дискретных косинусоид;
7) аппроксимируйте функцию, заданную таблично, обобщен-
ным полиномом в базисе дискретных синусоид;
8) аппроксимируйте функцию, заданную таблично, обобщен-
ным полиномом в базисе дискретных экспонент;
9) аппроксимируйте функцию, заданную таблично, обобщен-
ным полиномом в базисе дискретных функций Хаара;
10) аппроксимируйте функцию, заданную таблично, обобщен-
ным полиномом, используя быстрое вейвлет-преобразование Добе-
ши порядка два.
76
К 3/Задайте функцию аналитически и найдите интегральное
квадратичное приближение к ней, используя разные численные
схемы вычисления интегралов. Исследуйте графическое поведе-
ние обобщенного ряда Фурье заданной функции,
L 1) аппроксимируйте функцию, заданную аналитически, обобщен-
ным полиномом на отрезке [0, fj в базисе непрерывных косинусоид;
2) аппроксимируйте функцию, заданную аналитически, обобщен-
ным полиномом на отрезке [0, t] в базисе непрерывных синусоид;
* 3) аппроксимируйте функцию, заданную аналитически, обобщен-
ным полиномом на отрезке [0, i] в базисе непрерывных экспонент;
t 4) аппроксимируйте функцию, заданную аналитически, обоб-
щенным полиномом на отрезке [О, £] в базисе непрерывных поли-
? номов Лежандра;
к 5) аппроксимируйте функцию, заданную аналитически, обоб-
| щенным полиномом на отрезке [0, t] в базисе непрерывных поли-
номов Чебышева первого рода;
; 6) аппроксимируйте функцию, заданную аналитически, обоб-
/ щенным полиномом на отрезке [0, i] в базисе непрерывных поли-
J номов Чебышева второго рода;
j 7) аппроксимируйте функцию, заданную аналитически, обоб-
> щенным полиномом на отрезке [0,1] в базисе вейвлетов Хаара;
8) аппроксимируйте функцию, заданную аналитически, обоб-
щенным полиномом на отрезке [0,1] в базисе вейвлетов Добеши
второго порядка.
Выполните задания для функций (п — номер варианта):
Мх> =
(1 + п)х +
п
2х* + п + п
. . . Гп 1 + п
7 2"77з 1 !
\ )
- / \ _ 1 I П + ЛМ I 1
- 1 х 10л 1
2л + 0,1
Х Юл
=1 (х 2 •1 1 ~ ;
/5(х) = 1 (х - —-—-К 2 1 (х - — 1+ 1 (х-----------------) ;
5 I 4(1 + л) I I 2(1 + л) I I 4(1 + л) I
f6(x) = 10f4(x) sin ((8 + (!-(- 1)я)) их) + 20/3(х) ;
77
frtx) =
20f4(x)
2x+l
где 1(6 - т) =
О при 0 < т;
1 при 9 > т .
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Демидович Б.П., Марон ИА., Шувалова Э.Б. Численные методы анализа.
М.: Гос. Изд. Физ.-мат. лит., 1963.
2. Ланцош К. Практические методы прикладного анализа. — М.: Главная ре-
дакция физ.-мат. лит., 1961.
3. Бахвалов Н.С. Численные методы. —М.: Наука, 1963.
4. Крылов В,И., Бобков В .К, Монастырский П-И. Вычислительные методы.
Т. 1, 2. — М.: Главная редакция физ.-мат. лит., 1976.
5. Березин И .С., Жидков Н.П. Методы вычислений. — М.*. Гос. изд. физ.-мат.
лит., 1962.
6. Завьялов Ю.С., Квасов Б.И., Мирошниченко В.Л. Методы сплайн-функций.
- Л.-М.: Наука, 1980.
7. Киреев В,И., Пантелеев А.В. Численные методы в примерах и задачах:
Учебное пособие.— М.: Изд-во МАИ, 2000.
8. Пирумов У.Г. Численные методы: Учебное пособие. — М.: Изд-во МАИ,
1998.
9. Расчет систем управления на ЦВМ/В.В. Солодовников и др. — М.: Машино-
строение, 1979.
10. Семенов В.В., Рыбин В.В. Алгоритмическое и программное обеспечение
расчета нестационарных непрерывно-дискретных систем управления ЛА спект-
ральным методом: Учебное пособие. — М.: МАИ, 1984.
11. Добеши И. Десять лекций щ> вейвлетам. — Ижевск: НИЦ “Регулярная и
хаотическая динамика”, 2001.
12. Чуи К. Введение в вэйвлеты/Пер. с англ. — М.: Мир, 2001.
.13. Дьяконов В.П. MathCAD 2000. — СПб.: Питер, 2000.
14. Дьяконов Д.П. Вейвлеты. От теории к практике. — М.: СОЛОН-Р, 2002.
15. Рыбин В.В. Компьютерный практикум по алгебре и математическому ана-
лизу в среде Mathcad: Учеб, пособие. — Мл Изд-во МАИ, 2002,
16. Рыбин В.В. Описание сигналов и линейных нестационарных систем управ-
ления в базисах вейвлетов и их анализ в вычислительных средах: Учебное пособие.
- М.: Изд-во МАИ, 2003.
78
ОГЛАВЛЕНИЕ
Предисловие.......................................*.............3
Глава 1, Приближение функций....................................* 5
1.1. Постановка задачи о приближении функцийб...............
1.2. Примеры базисных систем функцийб ......................
1.2.1. Ортонормированные непрерывные системы
функций................................................. 6
1.2.1.1. Полиномы Лежандра ..........................6
1.2.1.2. Полиномы Чебышева первого рода............ 7
1.2.1,3. Полиномы Чебышева второго рода..............8
1.2.1,4. Тригонометрические функции..................8
1.2.1.5. Комплексные экспоненциальные функции........9
1.2.2. Ортонормированные дискретные системы функций ...... 9
1.2.2.1. Полиномы Чебышева ..........................9
1.2.2.2, Полиномы Кравчука..........................10
1.2,2.3. Тригонометрические функции.................11
1.2.2.4. Комплексные экспоненциальные функции........12
1.2.3. Базисные сплайны с конечными носителями
минимальной длины.......................................12
1.2.3.1. Основные понятия...........................12
1.2.3,2. Кусочно-постоянные базисные сплайны........15
1.2.3.3. Кусочно-линейные базисные сплайны..........15
1.2.4. Ортогональные вейвлеты с компактными носи-
телями .................................................16
1.2.4.1. Основные понятия...........................16
1.2.4.2. Функции Хаара..............................18
1.2.4.3. Функции Добеши порядка JVf ................18
1.2.4.4. Вейвлет-баэисы на отрезке..................20
1.3, Интерполирование функций..............................21
1.4. Точечное квадратичное аппроксимирование функций.......26
1,4.1, Метод алгебраических полиномов...................26
1,4.2. Метод ортогональных полиномов....................28
1.5, Интегральное квадратичное аппроксимирование функ-
ций на отрезке............................................ 29
Глава 2, Примеры решения задач на приближение функций в
Вреде Mathcad................................................ 31
2-1* Интерполирование функций на отрезке...................32
2.2. Точечное квадратичное аппроксимирование функций
L на отрезке.......................................... .... 38
й 2.3. Интегральное квадратичное аппроксимирование функ-
HL ций на отрезке..............................................46
IL 79
Приложение 2. Вычислительные схемы постановок и решения
задач аппроксимирования И интерполирования функций..........61
1. Интерполирование функций сплайнами на отрезке ....... 61
2. Точечное квадратичное аппроксимирование функций на
отрезке.................................................64
3. Интегральное квадратичное аппроксимирование функ-
ции на отрезке...........-............*............... 67
4. Квадратурный алгоритм Гаусса для вычисления коэффи-
циентов Фурье.......................................... 68
Приложение 2. Вычислительные схемы постановок и решения
задач аппроксимирования функций в вейвлет-базисах ..........70
1. Интегральное квадратичное аппроксимирование на Я.....70
2. Точечное квадратичное аппроксимирование функций, за-
данных на системе точек отрезка [0,1].................. 72
Приложение 3. Задания на компьютерную практику по прибли-
жению функций............................................. 76
Библиографический список....................................78