УДК 004.3
DOI: 10.17213/0321-2653-2015-1-11-18
ОБЪЕКТНО-ОРИЕНТИРОВАННЫИ ПОДХОД К ПОСТРОЕНИЮ СПЛАЙН-ФУНКЦИЙ, ЗАДАННЫХ НА ЛИНЕЙНЫХ ОБОЛОЧКАХ
AN OBJECT-ORIENTED APPROACH TO CONSTRUCTION OF SPLINE FUNCTIONS DEFINED ON LINEAR SPANS
© 2015 г. А.Н. Иванченко, А.А. Дорофеев
Ivanchenko Alexander Nikolaevich - Candidate of Technical Sciences, professor, department «Software Computer Engineering», Platov South-Russian State Polytechnic University (NPI), Novocherkassk, Russia. E-mail: ian2008.52@mail.ru
Dorofeev Alexey Anatolievich - post-graduate student, department «Software Computer Engineering» Platov South-Russian State Polytechnic University (NPI), Novocherkassk, Russia. E-mail: alexeidorofeyev@yandex.ru
Иванченко Александр Николаевич - канд. техн. наук, профессор, кафедра «Программное обеспечение вычислительной техники», Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова, г. Новочеркасск, Россия. E-mail: ian2008.52@mail.ru
Дорофеев Алексей Анатольевич - аспирант, кафедра «Программное обеспечение вычислительной техники», ЮжноРоссийский государственный политехнический университет (НПИ) имени М.И. Платова, г. Новочеркасск, Россия. E-mail: alexeidorofeyev@yandex.ru
Разработан конструктивный подход к построению интерполяционных сплайнов, унифицированный для всего многообразия существующих сплайн-функций. Создана технология расчёта сплайн-функций с использованием обобщённых численных методов для построения математических моделей. Для обеспечения логической структуры реализации технологии использованы основные принципы объектно-ориентированного программирования - модульность и шаблонность программных конструкций.
Ключевые слова: сплайн; интерполяция; биортогональный базис; интервальное представление; блочно-ленточная матрица; метод прогонки; объектно-ориентированный подход; линейный дифференциальный оператор.
A structural approach to construction of interpolation splines unified for all the variety of existing spline functions is developed. A technology for calculation of spline functions with the use of generalized numeric methods for construction of digital models is created. The basic principles of object-oriented programming such as modularity and templates are used to provide the logical structure of the technology implementation.
Keywords: spline; interpolation; biorthogonal basis; interval representation; block-banded matrix; sweep method; object-oriented approach; linear differential operator.
Сплайны широко применяются в теории приближения благодаря хорошим аппроксимативным свойствам, универсальности и простоте реализации вычислительных алгоритмов, полученных на их основе. Алгоритмы построения сплайнов концептуально близки алгоритмам метода конечных элементов, который является основным промышленным методом прочностного анализа в системах автоматизированного проектирования (САПР). Конструирование изделий с помощью САПР-К (CAD) проводится в интерактивном режиме при оперировании геометрическими моделями, важной составной частью которых является описание поверхностей. Наиболее популярны описания неплоских поверхностей кубическими уравнениями в форме Безье или B-сплайнов [1]. В математическом обеспечении современных САПР-Т (CAM) и
систем ЧПУ заложены методы сплайновой интерполяции, разработка которых основана на применении современных алгоритмов, учитывающих особенности программирования сложных поверхностей, принципы программирования электроавтоматики станков и конфигурацию систем ЧПУ [2, с. 209 - 227].
Потенциальные возможности сплайнов значительно шире, чем описание кривых. Во многих случаях сплайны являются решениями дифференциальных уравнений, описывающих реальные физические процессы [3]. Сообразно с многообразием приложений имеется значительное число видов сплайн-функций: полиномиальные, экспоненциальные, тригонометрические, однако повторяющейся частью вычислений для различных сплайн-функций является решение систем линейных уравнений. В настоящей статье
предлагается систематический подход к единообразной реализации технологии построения сплайн-функций.
Будем рассматривать задачу интерполяции в следующей формулировке: пусть имеется система несовпадающих точек a = x0 < x1 <... < xN = b ; пусть исходные данные определены значениями f0,f,... fN в точках x0,xj,.xN , либо значениями
f* некоторого функционала щ( f ), отнесёнными к
отрезкам [x/_b xj], j = 1, ..., N (в качестве функционала ц может выступать, например, среднее или интеграл от функции f по отрезку); требуется построить функ-цию-интерполянт f ( x ), определённую на всём отрезке [a, b] и проходящую точно через имеющиеся точки исходных данных (xi, fi) (в случае, если исходные данные определяют значения функции в точках) либо
удовлетворяющую условиям щ f\ j I = f*,j = 1, ...,N
К j ) j
(в случае, если исходные данные отнесены к отрезкам [Xj-1, X/]).
В качестве интерполянтов будем рассматривать сплайн-функции минимального дефекта, заданные на линейных оболочках, обладающие свойством точности на обобщённых полиномах заданного порядка [4] и определяемые следующим образом: пусть имеется разбиение EM некоторой области D з[а,b] точками x0 < xj <... < x'M, на частичные интервалы Е/ = [ x'/—, x'/ J , j = 1, ..., M, h/ = x'/ - xj_j ; пусть для каждого интервала Еj указана система (базис) из n линейно независимых гладких функций {<pv j (x)j ^,
<pv j (x) e Сœ (Ej ) ; под сплайном мы будем понимать кусочно-гладкую функцию
S(x)=Z«v,/<V,j (x) , x e Ej, j = 1, ..., M, (1)
V=1
для которой выполнены условия гладкости и принадлежности линейной оболочке: S (x)e Cl [a, b],
( Sj )( x) e lin |<v, j ( x)}V=1. При этом точки x^,..., xM-
играют роль узлов склеивания, в которых составляются условия непрерывности производных порядка до l включительно.
Биортогональный базис
Наиболее «экономное» интервальное представление сплайна можно получить, если в качестве базиса использовать биортогональный базис |срv, j (t)j ^, сопряженный с некоторым заданным набором из n линейно-независимых функционалов j | образом, что выполняются условия:
таким
V j (ФV, j ) =
10, щ-^v;
Это представление имеет вид
n x
S ( x )=Z4j ( S )< v,/ (t ), t = -
Kj-1
V=1
x j xj-1
x e
[xj^xj] , j = l, . M.
(2)
Функции биортогонального базиса выражаются через функции исходного базиса соотношениями:
Г 1
(3)
где Ф^ ц - алгебраическое дополнение элемента (V, д) квадратной числовой п*п матрицы Ф3 вида:
Ч; (ф1,3 ) - (Ф«,з Р
Ф1 =
^n,j (Ф1,1 ) - ^п,1 (Фп, j )
Соотношения числа коэффициентов, используемых для построения интервальных представлений сплайн-функций в исходном и биортогональном базисах, в зависимости от чётности размерности базиса представлены в табл. 1 (здесь и далее k = [п /2]).
Таблица 1
Число коэффициентов в интервальном представлении сплайн-функции в исходном и биортогональном базисах
Размерность базиса Исходный базис Биортогональный базис
n = 2k nN k(N+1)
n = 2k+1 n(N+1) (k+1)(N+2)-1
Как отмечено в [5, с. 62 - 63], для сплайн-функций возможны несколько формулировок задачи интерполяции:
I. Функция /х) задана значениями в точках х,:
/ = / (х);
II. Функция /х) задана средними значениями
1 хз
по отрезкам [х3-1, х3],; = 1, •••, N /* =— | /(х)dx;
III. Функция /х) задана значениями функции ¥(х) такой, что ¥' (х ) = / (х), в точках х,: ¥0, ¥, - • •, Ры ; в этом случае для получения сплайна
вычисляются значения f* =
Fi - FI-1 j h
j = 1, ..., N,
для которых решается задача II.
n
Привязка исходных данных. При решении задачи I исходные данные считаются привязанными к точкам хи I = 0, ..., Ы, а при решении задач II и III - к отрезкам [х/-ь х,], / = 1, ..., N.
Узлы склеивания. В случае использования базиса нечётной размерности при решении задачи I в качестве узлов склеивания могут выбираться либо точки хи I = 1, ..., N - 1 (в этом случае Б = [а, Ъ],
M = N, Е m =
= { [Xj_i, Xj], j = 1,...,Nj ), либо
внутрен-
ние точки отрезков [x,_b xj], обычно определяемые как
Е[ xj _i, xj ]
л/-Ь xj-
Х/-1 + Xj _ _
X-i I, X/ = —-, j = 1, ..., N, x0 = 2x0 -x1,
Xw+1 = 2xN -XN (в этом случае D = [X0,XN+1 ] з [a,b], M = N+1, E M =| [xj-1, Xj ], j = 1,..., N + lj) или
из соотношении x, e
[ xj _i, xj] ,
xj =
xj + x j+i
/ I_ /-1' / J ' / 2
(в этом случае Б = [х0, +1 ]=>[а,Ъ], М = N+1, ЕМ =| [х/^,X/J,/ = 1,...,N +1|); при этом следует отметить, что в случае использования узлов X,,
/ = 1, ..., М-1 координаты этих точек, вообще говоря, не определяются однозначно, и для их отыскания необходимо решать вспомогательную оптимизационную задачу. Альтернативным способом является использование точек X/, / = 1, ..., М-1, что позволяет
однозначно определить координаты этих точек, но при переходе к биортогональному базису точки XI в случае неравномерной сети будут соответствовать
х/ - х/
различным значениям параметров т, = —-- при
/ к/
различных /, и, соответственно, биортогональные базисы, построенные на отрезках Е/, будут различными. Но так как в подавляющем большинстве случаев практического применения интерполяционных сплайнов в качестве функционалов, участвующих в построении «экономных» представлений сплайнов, используются значения сплайн-функции, её производных различных порядков и интегралов в узлах склеивания и точках привязки исходных данных [5, с. 61],
использование точек X ■ в качестве узлов склеивания
позволяет при построении биортогонального базиса поставить в соответствие точкам исходных данных xi середины отрезков [ Xi, Xi+1 ] (т = l/2 = const, i = 0, ..., N)
и, соответственно, использовать единый биортого-нальный базис во всей области интерполяции D: ср ■ (t) = фv(t), j = 1, ..., M. В остальных случаях
(решение задачи I с помощью базиса чётной размерности, задачи II и III) в качестве узлов склеивания выбираются точки xi, в этом случае D = [a, b], M = N,
Em ={ [x/-1,X/],j = 1,...,Nj и также ф^(t)=lpv(t),
j = 1, ..., M. В табл. 2 представлена общая схема определения основных параметров интерполяционной задачи (исходные данные для построения сплайна, точки привязки исходных данных, узлы склеивания) в зависимости от формулировки условий задачи и чётности количества базисных функций.
Использование значений сплайн-функции, её производных в узлах склеивания и интегралов по отрезкам разбиения в качестве функционалов j
упрощает выполнение процедуры стыковки соседних сегментов сплайна, а также позволяет непосредственно использовать интерполяционные условия в качестве коэффициентов сплайна [5, с. 61]:
r S(Га(ц))/
Vj (S ) =
S
( %(Ц_k ))
'(■_i) • (4) •
ц = 1,..., k, ц = k + 1,...,2k;
, . j X n j (S ) = S (Xj _1) или J S (x) dx , n = 2k + 1
xj _i
(с - параметр, определяющий систему функционалов для построения биортогонального базиса);
s(x)= £ [sWv))(xj_i)<pv+u (t)+
v=2k+1—n
+ SWv))(Xj)фk+v+i,j (t)
+ F
Таблица 2
Представление исходных данных, привязка исходных данных и определение узлов склеивания для решения задач интерполяции сплайн-функциями, заданными на линейных оболочках
Задача Исходные Привязка исходных данных Узлы склеивания
интерполяции данные n = 2k n = 2k+1
I f • i = 0, N Точки X0,X1v..,XN x1,---, xN_1 x1,..., xN или xN
II 1 Xj — J f (x)dx , j = 1, ..., N J j Отрезки [Xj_1; Xj], j = 1, ..., N - xN_1
III F, _ F, 1 j , j = 1, N hj Отрезки [Xj-1, Xj], j = 1, N - x1,—, xN_1
Fn, =
i fj-1Фи (t) + fj Фk+1,j (') , n = 2k,
j n (t) ,
n = 2k +1
(здесь в случае решения задачи I с помощью базиса с п = 2&+1 принимается /у = /у-1,у = 1, ..., М),
,(v) = {
v -1, ст < k +1 -v, v, ст> k +1 -v,
(4)
сте 0, n - k -1.
k-1
z Vp+lj (1)+
v=2k+1—n
k-1
+ Z s]
v=2k+1—n
] Vp)k+1,j (1)-]/)-рФ v^j (0)
)-рФ (p)
- 2 *]+И])-Рф1Р1+U (0) = F.
v=2k+1—n
F,p=1
-fj-h-рф15 (1)+fj ]Ф1,7 (0) -h-Pфkp^. (1)
,(p)<
j,p :
»
+fj jkP+\,j (0);
l-f-h РФ13 (1)+f*h-Ж (0)
.(p).
(5)
знаны окончательными, так как число неизвестных в них на 2 (п - k -1) больше числа уравнений. Для определения недостающих показателей привлекаются краевые условия, связывающие значения сплайна и производных на концах отрезка интерполяции:
Г = О Ы^Ь х') г = о (гстН)( Х )
•/0,ц _ ° \Л0 / ' ¿И+n-2k,|а _ ° \ N+n-2k '
ц = 2k+1-n,..., k-1.
(6)
Для реализации этой идеи на языке программирования С++ разработан шаблонный класс De-йуНЮй [6], в котором перегружены арифметические операторы и функции экспоненты, синуса, косинуса, гиперболического синуса и гиперболического косинуса таким образом, чтобы при их воздействии на объекты класса наряду со значением функции в некоторой точке возвращались также значения её производных в этой же точке в виде числового массива [7]. Класс DerivHiOrd использует оптимальный алгоритм для программной реализации вычисления массива значений производных по общим формулам.
Интерполяционные сплайны, решающие задачи 1-Ш, получаются следующим образом: используя представление (4), заключаем, что исходные данные прямо дают N+1 коэффициентов сплайна, а остальные
коэффициенты 5(г<т(у)) = О (%(у))( х-) определяются
из условий непрерывности О(Xi - 0) = О(з) (X + 0),
q = 0, ..., I, которые применительно к интерполяционным сплайнам, заданным на линейных оболочках, приводятся к системе линейных уравнений вида
Таким образом, интервальное представление сплайна в биортогональном базисе может быть представлено в виде сводной матрицы: а) значений функции О и производных в точках х'}-; б) краевых условий; в) значений производных функции О, получаемых при решении системы уравнений:
fc
f /
J 0,2k+1-n
f>
0,k-1
f1
CT(2k+1-
ст (k-1):
f
N-1
f
N
Ы 2k+l-n)) N+n-2k-1
-1)) N+n-2k-1
fN
N+n-2k,2k+1—n
fN
N+n-2k,k-1 J
Для получения решения системы условий непрерывности (5) и краевые условия (6) редуцируются к системам линейных уравнений с ленточными и блочно-ленточными матрицами [5, с. 65 - 66]:
r-C Б
A2 -C2
B
Ло Co
Б,
'M-2
( S ^
AM -1 CM-1 JV SM -1 J \-fM -1
f -f1л
- f2 - f3
(7)
у = 1, ..., М-1, р = k +1 -ст,k +1,...,п-2. Структура системы (5) неизменна, и в конкретных вычислениях предстоит пройти только через выбор базисных функций фу,у (х) .
В аспекте единственности сплайн-функции условия непрерывности (5) в узлах не могут быть при-
где Ау, Ву, Су - квадратные матрицы порядка п - k - 1, 5у е Rn-k-1 - векторы неизвестных значений 5(Гст(у)), у = 2k +1 - п,...,k -1, /у е Rn-k-1, у = 1, ..., М-1 (формулы для расчёта подматриц А у, Ву, Су и векторов /у исходя из равенств (5) и (6) не приводятся
ввиду ограниченности объёма публикации). Для решения систем вида (7) существуют специализированные методы решения, распространяемые на случай произвольной размерности матричных блоков, одним из которых является метод прогонки, эффективно применяемый для решения систем с трёхдиагональ-ными матрицами с доминирующей главной диагональю:
1. а1 = С1-1В1, Р1 = С^;
а j+1 =(Cj- Ajа j)1Б
Рj+1 =(c. + Aаj)- (fj + АРj),
j = 1, ..., M-2.
n
r.
S
0
S
2
S
3
0
r~i v
CT
+
2. SM-1 = (CM-1 AM-laM-1 ) (AM-iPm-1 + fM-1 ) ;
s1= a 1+1s1+1+ p 1+1'1 = M-2, •1.
В качестве одного из подходов к реализации методов моделирования сплайн-функциями, заданными на линейных оболочках, предлагается использовать обобщенные многочлены, составленные по системе «хорошо приспособленных» базисных функций [8]. Такой подход обладает значительной гибкостью и позволяет путем надлежащего выбора состава базиса придать сплайну ряд полезных свойств, приводящих к возможности использования управляемых сплай-новых конструкций для решения задач «улучшения» сплайновых моделей с заданным допустимым отклонением.
Имеющий практическую значимость подход к конструированию пространства сплайн-функций Spn (Е), являющегося ядром некоторого линейного дифференциального оператора порядка n с постоян-
n
ными вещественными коэффициентами: Ln = ^ a^p1 ,
j=1
ai е R, p = d , опирается на теорию L-сплайнов [9,
dx
с. 12; 10]. Равенство Spn (Е) = kerLn равносильно тому, что функции ф1 (x),...,фп(x) суть линейно независимые решения уравнения
Lny ( x ) = 0. (8)
Преимущества использования элементов пространства Spn (Е) для построения приближения y (x)
программного закона движения y (x) динамической системы, описываемой уравнением Lny (x) = u (x), где u (x) - управляющая функция, по сравнению с полиномиальными сплайнами заключается в учете приближающей функцией y (x)е Spn (Е) динамических свойств системы и вида управляющей функции u(x), что позволяет существенно улучшить качество отработки программного закона движения [8, с. 87 - 88].
Рассмотрим вопросы программной реализации построения одномерных интерполяционных сплайнов, заданных на линейных оболочках, на основе входной информации по условиям задачи интерполяции, координатам узловых точек, граничным условиям и набору исходных базисных функций в условиях объектно-ориентированного подхода. Следование принципу модульности приводит к составной структуре приложения LinSpanSpline, которая включает:
1) модуль SplineBase, содержащий класс био-ртогональных базисов Base; открытый интерфейс класса содержит: конструкторы; метод для вычисления биортогонального базиса; методы, возвращающие
значения базисных функций в точке t; методы, возвращающие формульные выражения для базисных функций;
2) модуль Spline1, содержащий класс обобщённых одномерных сплайнов Spline; открытый интерфейс класса содержит: конструктор, выполняющий расчёт матрицы интервального представления сплайна по входным параметрам - исходным данным, системе функционалов, краевым условиям и биортого-нальному базису; метод, возвращающий матрицу коэффициентов интервального представления сплайна; метод, возвращающий значение сплайн-функции в точке x;
3) библиотеку BigRational для работы с большими числами, содержащую класс сверхдлинных целых Verylong [11, с. 193-202, 409-426], шаблонный класс рациональных чисел Rational<T> [11, с. 202 - 207, 426 - 431] и шаблонный класс комплексных чисел Complex<T> [11, с. 207 - 211, 431 - 436];
4) модуль Interface пользовательского интерфейса приложения LinSpanSpline.
Необходимость подключения библиотеки больших чисел обусловлена тем, что встроенные типы данных C++ ограничены в диапазоне, что может быть существенным при выполнении расчётов, необходимых для построения биортогональных базисов по методике, описанной в [5]. Так, для системы 2 [8, с. 90] с X = 31 (наибольшее целочисленное значение параметра, для которого разрядная сетка типа double позволяет рассчитать биортогональный базис системы) расчёт функций {фv (t)Щ=1 по системе функционалов {I, p} (I - тождественный дифференциальный оператор) с использованием типа double даёт следующие результаты:
ф* (/) = 1,01751 -1,05259/ - 0,0350865е
-31t
ф2 (/) = 0,0339547 - 0,0350865/ - 0,0339547е ,
в то время как в действительности эти функции имеют вид
фф1 (/) = 1,03448 -1,06897/ --0,0344828е~31/ +1,18706 • 10-15 еш,
ф2 (/) = 0,0333704 - 0,0344828/ -
-0,0333704е~31/ + 3,82923 •Ю-17 е3/
(с точностью до 6 значащих цифр). Таким образом, аналитический расчёт показывает, что для функции ф2 (/) важное в практическом отношении (так как
функция ф2 (/) отвечает за значение первой производной на левом конце отрезка) максимальное относительное отклонение
8Г
.(ф^ Ф2 ) =
рассчитанное по
рЛ f, g HI f - 4 ш, где
бесконечно велико в
|рф2 (t)- Рф2 (t)|
lim
t
Р»( РЪ., РФ2 )
||Р^Р2 IL '
естественной метрике
\f\L = sup \f (0| [12, с. 56L
íe[0,1]
силу выполнения равенства
Так как в силу (1) и (2)
|РЧ>2 ^)|
сплайн-функция является линейной комбинацией базисных функций, то большие относительные отклонения в расчётах базисных функций могут существенным образом повлиять на результат интерполяции. При этом следует отметить, что метрический анализ является одним из ключевых этапов решения задач математического моделирования [13, с. 6 - 9].
Модуль пользовательского интерфейса осуществляет доступ к остальным структурным компонентам приложения и предоставляет пользователю возможность выбора способа задания базисных функций одним из трёх способов: полиномы не выше заданной степени; ¿-сплайны; выбор базисных функций произвольным, но допустимым образом из определённого диапазона.
1. Полиномы не выше заданной степени: (х) = х, V = 1, ..., п. Полиномиальные сплайны
являются наиболее распространёнными сплайновыми конструкциями, основным их преимуществом является простота расчетов и анализа [14].
2. ¿-сплайны. Для задания оператора ¿п используется представление вида
ПА, п = 2k,
1=1
Ln =
(9)
( p-а)П D, n = 2k +1,
тики обеспечивается алгебраическим подходом в теории сплайнов, к которому относятся L-сплайны [9, с. 12], в качестве стандартного набора базисных функций принято множество всех решений уравнения (8) в случае произвольного n:
|xreax, xreax cos Px, xreax sin px | r e Z +, а e R, P e R+ J .
Также реализована возможность ввода формульных представлений базисных функций пользователем.
Допустимость выбранного набора определяется с помощью проверки неравенства det Ф1 ф 0, что вытекает из формул (3). Такой способ задания базисных функций обеспечивает большую вариативность по сравнению с L-сплайнами, однако требует обязательной проверки допустимости перед построением биортогонального базиса.
Результаты
С помощью созданной обобщённой объектно-ориентированной технологии построения сплайн-функций, заданных на линейных оболочках, рассчитаны сплайновые приближения нескольких моделей, одной
из которых является
функция f (х) = (1 + 25х2) , для
которой последовательность интерполяционных многочленов Лагранжа не сходится на отрезке [-1;1], и которая, таким образом, является трудной для построения хорошего приближения интерполируемой функции классическим методом многочленов Лагранжа [9, с. 9]. Графики естественных кубических сплайнов S(х) и Sl(х), построенных по исходным данным
хг =-1 + 0,2/, f =
1
1 + (/ - 5)2
i = 0, ..., 10
где = р + Ь^р + с^, а, Ь^, с^ е R, преимущество
которого заключается в том, что оно позволяет конструировать пространства сплайн-функций, ориентированные на важный в практическом отношении случай линейных динамических систем второго порядка с постоянными коэффициентами. В [8, с. 90 - 91] приведены основные типы динамических систем второго порядка и фундаментальные системы решений уравнений рАу (х ) = 0 и А*Ау ( х) = 0, А = р 2 + Ьр + с ,
А* = р2 - Ьр + с , Ь, с е Я, являющихся частными случаями уравнения (8). Следует также отметить, что представление (9) существует для произвольного линейного дифференциального оператора порядка п, так как в поле вещественных чисел неприводимыми являются линейные многочлены и квадратичные многочлены без вещественных корней [15, с. 218 - 224].
3. Задание базисных функций произвольным, но допустимым образом. Так как большая близость к практическим потребностям вычислительной матема-
с помощью формул расчёта кубических сплайнов [9, с. 99 - 101] и обобщённых формул (4) соответственно, а также абсолютных и относительных погрешностей
А ff ( х )
Äff (х) = f (х)-f (х) , 5 - (х) =
f ( х )
f = S, S'
от модели -
функции f (x) = (l + 25x2 ) , x e [-1,1] приведены на рис. 1, а величины отклонен
А, (f, f)=| b-a -1q|\Aff( x)|| и 8, (f, f)=| b - a -11q 8f, f (x)
рассчитанные по нормам 8ff (x) = <J 8ff (x) dx
q
1 q
[12, с. 58 - 60] при q = го (максимальное отклонение, ff )= sup |sff (x)| ), 1 (среднее отклонение),
xe[a,b]
2 (среднеквадратическое отклонение), где 5ff (x) -абсолютная Дff(x) или относительная 5ff(x)
погрешность, - в табл. 3.
i=1
Рис. 1. Графики сплайн-функций а - S(x); б - S'(x); абсолютных погрешностей в - AfS(x); г - A/S'(x) и относительных погрешностей д - 8/ S(x); е - 8/ S(x) сплайнов S(x) и S'(x) по отношению к модели - функции f (x)=(l+ 25x2) ,
Таблица 3
Максимальные (</ = да), средние (^ = 1) и среднеквадратические ^ = 2) абсолютные и относительные отклонения естественных кубических сплайнов £(х) и S(x) от модели - функции
f (х) = (1 +25х2) 1, хе[-1,1]
q Aß, f) Aq(S', f) Sq(S, f), % Sq(S', f), %
да 0,0219587 0,0219571 3,36235 3,36219
1 0,00408226 0,00410052 1,22018 1,22629
2 0,00711816 0,00712245 1,55470 1,54194
Таким образом, в результате построения сплай-новых моделей с использованием обобщённой объектно-ориентированной технологии установлено, что полученные модели аналитических функций, являющихся трудными для построения приближений классическими численными методами, являются математически обоснованными и не противоречат результатам теории сплайн-функций.
Выводы и рекомендации
1. Разработан унифицированный подход к моделированию сплайн-функциями с выделением фун-
даментальных методических блоков, являющихся общими для существующего многообразия сплайно-вых конструкций.
2. Создана универсальная технология построения сплайновых моделей, отличающаяся от существующих реализаций использованием обобщённых и усовершенствованных методов моделирования.
3. Разработана объектно-ориентированная организация унифицированной технологии построения сплайновых моделей с возможностью пользовательского выбора формы представления моделирующих сплайнов для решения прикладных задач и автоматизацией математических преобразований, выполняемых при интерполяционных построениях.
Универсальность созданной технологии позволяет строить и исследовать одномерные математические модели на основе сплайновых алгоритмов в широком диапазоне изменений технологически значимых параметров моделирования. Возможности разработанного программного обеспечения позволяют располагать широким спектром математических методов сплайнового моделирования и подбирать параметры моделирующего сплайна таким образом, чтобы в результате получать модели, имеющие научно обоснованную структуру.
д
е
Литература
1. Tang Qingguo, Cheng Longsheng. B-spline estimation for spatial data. Journal of Nonparametric Statistics. 2010. 22(2). P. 197 - 217. http://dx.doi.org/10.1080/1048525090 3272569
2. Сосонкин В.Л., Мартинов Г.М. Программирование систем числового программного управления: учеб. пособие. М., 2008. 344 с. + 1 компакт-диск. - (Новая университетская библиотека).
3. Mohmed H.M., Khabir, Kailash C. Patidar. Spline approximation method to solve an option pricing problem. Journal of Difference Equations and Applications, 2012. 18(11), P. 1801 - 1816. http://dx.doi.org/10.1080/10236198.2011. 596150
4. Демина А. Ф. Моделирование гладких неполиномиальных сплайнов: дис. ... канд. физ.-мат. наук: 05.13.18. Санкт-Петербург, 2007. 153 с.: ил. РГБ ОД, 61 07-1/11.
5. Алексейчик В.В., Иванченко А.Н. О технике построения сплайн-функций, заданных на линейных оболочках // Системы управления технологическими процессами: межвуз. сб. / Новочерк. политехн. ин-т - Новочеркасск: НПИ, 1986. С. 53 - 66.
6. Дорофеев А.А. Набор классов для вычисления производных высших порядков сложных функций (DerivHiOrd) //Свидетельство о государственной регистрации программ для ЭВМ. Рег. № 2014616948, от 08.07.14 г.
7. Иванченко А.Н., Дорофеев А.А. Объектно-ориентированный подход к вычислению производных высоких
порядков // Изв. вузов. Сев.-Кавк. Регион. Техн. науки. 2014. № 1. С. 9 - 14.
8. Иванченко А.Н., Алексейчик В.В., Ершов В.К. Сплайно-вые приближения программных движений динамических систем // Системы управления технологическими процессами: межвуз. сб./Новочерк. политехн. ин-т - Новочеркасск: НПИ, 1983. С. 87 - 93.
9. Завьялов Ю.С., Квасов Б.И., Мирошниченко В.Л. Методы сплайн-функций М., 1980.
10. Paul M.N. Feehan. Maximum Principles for Boundary-Degenerate Second Order Linear Elliptic Differential Operators. Communications in Partial Differential Equations, 2013, 38(11), P. 1863 - 1935. http://dx.doi.org/10.1080/ 03605302.203.831446
11. Тан К.Ш., Стиб В.-Х., Харди И. Символьный C++: Введение в компьютерную алгебру с использованием объектно-ориентированного программирования // Пер. со 2-го англ. изд. М., 2001. 622 с.
12. Колмогоров А.Н., Фомин С.В. Элементы теории функций и функционального анализа. 7-е изд. М., 2004. 572 с.
13. Самарский А.А., Михайлов А.П. Математическое моделирование: Идеи. Методы. Примеры. -2-е изд., испр. М., 2001. 320 с.
14. Ideon, E.; Oja, P. Quadratic/Linear Rational Spline Interpolation. Mathematical Modelling and Analysis, 2013, 18(2), pp. 250 - 259. http://dx.doi.org/10.3846/13926292. 2013.781071
15. Ван дер Варден Б.Л. Алгебра. М., 1976. 648 с.
References
1. Tang Qingguo, Cheng Longsheng. B-spline estimation for spatial data. Journal of Nonparametric Statistics, 2010, 22(2), pp. 197-217. http://dx.doi.org/10.1080/ 10485250903272569
2. Sosonkin V.L. Programmirovanie sistem chislovogo programmnogo upravlenija: ucheb. posobie [Programming of numerical controls: manual]. V.L.Sosonkin, G.M. Martinov. Mjscjw, Logos Publ, Universitetskaja kniga; 2008. 344 p. + 1 CD. (Novaja universitetskaja biblioteka).
3. Mohmed H.M. Khabir, Kailash C. Patidar. Spline approximation method to solve an option pricing problem. Journal of Difference Equations and Applications, 2012, 18(11), pp. 1801 - 1816. http://dx.doi.org/10.1080/10236198.2011.596150
4. Demina A.F. Modelirovanie gladkih nepolinomial'nyh splajnov: dissertacija... kandidata fiziko-matematicheskih nauk [Modeling of smooth non-polynomial splines: dissertation of ... candidate of physical-mathematical sciences]. 05.13.18. St.Petersburg, 2007. 153 p.: il. RGB OD, 61 07-1/11.
5. Aleksejchik V.V., Ivanchenko A.N. O tehnike postroenija splajn-funkcij, zadannyh na linejnyh obolochkah [About the technique of constructing spline functions defined on linear shells]. Sistemy upravlenija tehnologicheskimiprocessami. Mezhvuz.sb.Novocherk. politehn. in-t [System process control. Meiwes.Coll..Novacek. polytechn. inst.] Novocherkassk, NPI Publ, 1986, pp. 53-66.
6. Dorofeev A.A. Nabor klassov dlja vychislenija proizvodnyh vysshih porjadkov slozhnyh funkcij (DerivHiOrd) [A set of classes to calculate higher-order derivatives of complex functions]. Svidetel'stvo o gosudarstvennoj registracii programm dlja JeVM. Reg. №2014616948, 08.07.14.
7. Ivanchenko A.N., Dorofeev A.A. Ob'ektno-orientirovannyj podhod k vychisleniju proizvodnyh vysokih porjadkov [An object-oriented approach to computation of higher derivatives]. Izvestiya vuzov. Severo-Kavkazskij region. Tehnicheskie nauki ,2014, no. 1, pp. 9-14.
8. Ivanchenko A.N., Aleksejchik V.V., Ershov V.K. Splajnovye priblizhenija programmnyh dvizhenij dinamicheskih sistem [Spline approximation of software dynamical systems]. Sistemy upravlenija tehnologicheskimi processami. Mezhvuz.sb.Novocherk. politehn. in-t [System process control. Meiwes.Coll..Novacek. polytechn. inst.] Novocherkassk, NPI Publ , 1983, pp. 87-93.
9. Zav'jalov Ju.S., Kvasov B.I., Miroshnichenko V.L. Metody splajn-funkcij [Methods of spline functions]. Moscow, Nauka Publ, Glavnaja redakcija fiziko-matematicheskoj literatury, 1980.
10. Paul M. N. Feehan. Maximum Principles for Boundary-Degenerate Second Order Linear Elliptic Differential Operators. Communications in Partial Differential Equations, 2013, 38(11), pp. 1863-1935. http://dx.doi.org/10.1080/03605302.203.831446
11. Tan K.Sh., Stib V.-H., Hardi I. Simvol'nyj C++: Vvedenie v kompjuternuju algebru s ispol'zovaniem ob'ektno-orientirovannogo program-mmirovanija. [Symbolic C++: an Introduction to computer algebra using object-oriented programming.]. Moscow, Mir Publ, 2001, 622 p.
12. Kolmogorov A. N., Fomin SV. Jelementy teorii funkcij i funkcional'nogo analiza. 7-e izd. [Elements of the theory of functions and functional analysis. 7th ed.]. Moscow, FIZMATLIT Publ, 2004, 572 p.
13. Samarskij A. A., Mihajlov A. P. Matematicheskoe modelirovanie: Idei. Metody. Primery. 2-e izd, ispr. [Mathematical modeling: Ideas. Methods. Examples. 2nd ed., fix.]. Moscow, Fizmatlit Publ, 2001, 320 p.
14. Ideon, E.; Oja, P. Quadratic/Linear Rational Spline Interpolation. Mathematical Modelling and Analysis, 2013, 18(2), pp. 250-259. http://dx.doi.org/10.3846/13926292.2013.781071
15. Van der Varden B. L. Algebra [Algebra]. Moscow: Mir Publ, 1976, 648 p.
Поступила в редакцию 13 января 2015 г.