Вычислительные технологии
Том 6, № 6, 2001
О МОНОТОННОЙ ИНТЕРПОЛЯЦИИ КУБИЧЕСКИМИ СПЛАЙНАМИ *
Ю. С. Волков Институт математики им. С. Л. Соболева СО РАН Новосибирск, Россия e-mail: [email protected]
The problem on monotone interpolation of monotone data by cubic splines is considered.
New sufficient conditions of the monotonicity for the classic cubic C2 spline are obtained.
The solution of the problem with the help of various cubic C1 splines is discussed. General monotonicity conditions for a wide class of such splines are obtained.
Практически в каждой задаче, связанной с приближением функций, подбирая аппрок-симант, мы в первую очередь обращаем свой взор к кубическим сплайнам дефекта 1, являющимся дважды непрерывно дифференцируемыми функциями. Такие сплайны зарекомендовали себя как наиболее универсальный инструмент приближения функций и эффективное средство решения самых разнообразных прикладных задач благодаря хорошим аппроксимативным свойствам в сочетании с простотой реализации на ЭВМ. Конечно, кубические сплайны не идеальны, и в некоторых задачах приходится от них отказываться. К задачам такого класса относится, например, аппроксимация с условием наследования геометрических свойств, таких как положительность, монотонность или выпуклость приближаемых объектов. Известно, что даже при приближении достаточно гладких функций могут возникать нежелательные осцилляции. С целью гарантировать выполнение требуемых свойств аппроксиманта, предотвратить неверное его поведение были разработаны многочисленные модификации и обобщения классических кубических сплайнов. Конечно же, почти всегда в “жертву” приносятся какие-либо из достоинств классического сплайна (гладкость, точность, порядок приближения, простота реализации и пр.). Например, в работах В. И. Пинчукова [1, 2] модифицированный кубический сплайн, вообще говоря, не приближает даже первую производную.
Настоящая статья посвящена проблеме монотонной интерполяции монотонных данных кубическими сплайнами. Обычный кубический сплайн класса C2 не решает данную задачу, вернее, не всегда решает. Естественный вопрос: а когда решает? Возникает потребность выделить (описать) ситуации, когда указанная задача может быть решена такими сплайнами. И отказываться от достоинств традиционного кубического сплайна в этой задаче следует только в иных ситуациях, прибегая к помощи модифицированных сплайнов.
Впервые в вопросе возможности решения задачи монотонной интерполяции обычными кубическими сплайнами попытался разобраться В. Л. Мирошниченко. Им и установлены
* Работа выполнена при поддержке гранта Интеграционных проектов СО РАН №2000-1.
© Ю.С. Волков, 2001.
первые достаточные условия [3, 4]. Еще некоторые условия можно найти в совсем недавних работах В. И. Пинчукова [1, 2], однако они полностью перекрываются условиями В. Л. Мирошниченко. В данной работе мы также устанавливаем условия на исходные данные, при которых классический кубический сплайн класса С2 будет монотонным. Полученные нами условия отличны от условий В. Л. Мирошниченко.
Исследования В. Л. Мирошниченко [3, 4] базируются на доказанной им лемме о неотрицательном решении трехдиагональной системы линейных уравнений. Эта лемма оказалась довольно полезной и плодотворной при исследовании изогеометрических свойств нелокальных сплайнов. Она нашла широкое применение при построении различных обобщений кубических сплайнов [5-9]. Для сплайнов произвольной степени изучение условий положительной интерполяции [10] также проведено на основе указанной леммы. И на настоящий момент, по-видимому, альтернативного лемме В. Л. Мирошниченко эффективного инструмента исследования изогеометрических свойств нелокальных сплайнов, как показывает пример работ [1, 2] с использованием другого аппарата, не существует.
Наш подход к задаче монотонной интерполяции отличается от подхода В. Л. Мирошниченко [3, 4] тем, что мы основываемся на другом представлении сплайна, отличном от традиционного, использующего наклоны (значения первой производной сплайна в узлах). В работе [11] автором предложен новый способ построения интерполяционных сплайнов нечетной степени, заключающийся в том, что в качестве определяемых параметров сплайна выбираются коэффициенты разложения какой-либо его производной по нормализованным В-сплайнам [12]. Такой выбор параметров позволяет в случае произвольной степени сплайна достаточно просто из условий интерполяции получить системы линейных уравнений для нахождения этих параметров. Примечательно то, что для кубических сплайнов использование в качестве параметров коэффициентов В-сплайн-разложения первой производной приводит к совершенно новой неизвестной системе уравнений. Эта система уравнений и позволила получить нам новые условия монотонности интерполяционного кубического сплайна.
Пусть в узлах сетки
А : а = х0 < х1 < ... < хм = Ь
отрезка [а, Ь] известны значения = f (х^) некоторой функции f (х), которые будем интерполировать кубическим сплайном Б(х) класса С2 [а, Ь]. Как обычно, считаем, что на концах отрезка [а,Ь] известны значения либо первой производной функции Л'(а) = Л, Л'(Ь) = Д,
либо второй f''(а) = Л', f''(Ь) = Л'. Необходимо, чтобы этим условиям удовлетворял и
сплайн Б(х):
Б '(а) = Л, Б'(Ь) = Я, (1)
Б» = л:, Б'' (Ь) = л'. (2)
Расширим сетку А кратными дополнительными узлами х-1, х-2 и хм+1, хм+2:
х-2 = х-1 = х0, хм = хМ+1 = хм+2.
Обозначим
Л = Хi+l — Хi, % = -2, ..., N +1;
\ = Л^/(Л^-1 + Л^), ^ = 1 — А^ % = 0, ..., N.
Рассматриваемый метод построения кубического сплайна Б(х) состоит в том, что искомыми параметрами являются коэффициенты во, ... , вм+1 разложения производной Б'(х),
которая является тоже сплайном, но уже второй степени:
N+1
£'(#) = вк Вк (х) (3)
к=0
по базису из нормализованных В-сплайнов [12] второй степени Вг(х), г = 0, ... , N + 1 с носителем (хг_2, #1+1). Следуя [11], можем получить соотношения
Аг-1вг-1 + (1 + ^г-1 + + ^гА+1 = 3/[#г_ 1, хг], г =1, ...,N. (4)
Эти соотношения можно рассматривать как систему уравнений для определения неизвестных во, • • • , вN+1, добавив для замыкания два уравнения, соответствующие краевым
условиям (1), (2). Дополнительные уравнения будут иметь вид
во = я, ^+1 = я, (5)
— во + в1 = — Я^ —вN + вN +1 = ^ Л'. (6)
Таким образом, нас интересуют условия, при которых решения систем уравнений
во = /,
Аг-1А-1 + (1 + ^г-1 + Аг)вг + ^гА+1 = 3/г = 1, . . . , N, (7)
вN+1 = Я,
во - в, = - у /',
Аг-1вг-1 + (1 + ^г-1 + Аг)в + ^гА+1 = 3/^г-Ъ#^ г = 1, . . . , N, (8)
-в«+вN+1 = /;'
будут неотрицательны, если интерполируемая функция — возрастающая, т. е.
л > о, /' > о, (9)
/[#г-1,#г] > 0, г = 1, ..., N. (10)
Очевидно, что неотрицательность решения системы (7) или (8) достаточна для неотрицательности £'(#) на [а, Ь] (монотонности £(#)), так как величины во, ... , в^1 являются коэффициентами разложения £'(#) по В-сплайнам (3).
Однако к системам уравнений (7) и (8) лемму В. Л. Мирошниченко [3] о неотрицательном решении трехдиагональной системы уравнений применить нельзя, так как матрицы систем (7) и (8) не имеют диагонального преобладания. Тем не менее преобразование, использованное В. Л. Мирошниченко для доказательства его леммы, приводит наши системы (7), (8) также к системам с монотонными матрицами (матрица М монотонна, если из условия Ми > 0 следует и > 0 покомпонентно). Это преобразование состоит в следующем: из трех последовательных уравнений системы с неизвестными вг-2, вг-1, вг, вг+1, вг+2 исключаются вг-1 и вг+1. Каждое уравнение новой системы будет содержать также ровно три неизвестных (кроме крайних), но только либо с четными, либо нечетными индексами.
Система (7) преобразуется к виду во = /',
1 + -|Л+(1 ++2а в - 1 +^1/+ Л в3 = 3/[жо,ж1] - Я - 3^-/[Х1,Ж2],
1 + //1 + Л2 1 + /1 + Л2 1 + /11 + Л2
Лг-2Лг-1 а , , ^г-1(1 + ^-2) Лг(1 + Лт) р ^г^г+1 ~
"Й-2 + 1г^—:------:—г-г-— ----- — - й — ~—;----;—:--Рг+2:
1 + /г-2 + Лг-1 1 + /г-2 + Лг-1 1 + /г + Лг+1 1 + /г + Лг+1
= 3/[жг-1 > жг] — ----/ [жг-2,жг-1] — 3 ----/ [жг,жг+1], , ,
1 + /г-2 + Лг-1 1 + /г + Лг+1 (11)
г = 2, N — 1,
Л;-2Л;-1 п , 1 , /;-1(1 + /;-2)
1 + /;-2 + Л;-1 1 + / N-2 + Л;-1
= 3/[ж;-1,ж;] — 3~л—:---------:—т----У [ж;-2,ж;-1] —
1 + / N-2 + Л;-1
р;+1 = Д.
Матрица полученной системы (11) уже имеет диагональное преобладание, так как справедливы неравенства
1 Лг-2Лг-1 1 /г-2 + 2/г-2Лг-1 + /г-1 > ^
2 1 + /г-2 + Лг-1 2 1 + /г-2 + Лг-1
1 /г/г+1 1 Лг + 2/гЛг+1 + Лг+1
2 1 + /г + Лг+1 2 1 + /г + Л
> 0.
г+1
Кроме того, диагональные элементы матрицы положительны, а внедиагональные неположительны, следовательно, матрица системы (11) монотонна (см. [12, лемма Д.1]). В этом
случае неотрицательность решения системы, т. е. компонент во, . . . , в; +1, следует из усло-
вий неотрицательности правых частей уравнений этой системы. Таким образом доказана Теорема 1. Кубический сплайн Б (ж) с краевыми условиями (1), интерполирующий возрастающие данные, т. е. выполнены условия (9), (10), будет возрастающим, если имеют место неравенства
/[жо,ж1] — 3/'а — 1 + /1+ Л /[ж1,ж2] > 0) (12)
3 1 + /1 + Л2
/[жг-1, жг] - Лг-^-/[жг-2,жг-1] — ----/[жг,жг+1] > 0)
1 + /г-2 + Лг-1 1 + / г + Лг+1
г = 2, ...,Ж — 1, (13)
/[ж;-1,ж;] — ——Л;-1 »----------/[ж;-2,ж;-1] — 1 Я > 0. (14)
1 + / N-2 + Л;-1 3
К системе (8) применим преобразование В. Л. Мирошниченко, предварительно исклю-
чив неизвестные во и в;+ь
2+ 1Л1,(1 ,+лЛ2 в1— 1 +^ 1/+ Л2вз = у^+3/[жо,ж1] — 31, /1, Л /[ж1,ж2],
-1 , 2/1 , Л2(1 + Л3) п / 2/^ 3 д _
1 + 2ГЛ1 +1 + /2 + Лз в2 — 1 + /2 + Лз* =
= 3/[ж1,Х2] — 2 ,‘Л1 /о' + 3/(жо,ж1] — 31 +//2+ Лз / [ж'2; жз] I
Лг-2Лг-1 р , 1 , / г-1(1 + /г-2) Лг(1 + Лг+1) ^ /г/г+1 ^
“Рг-2 + 1 + ■—:-:—т-------------г -—---—----- рг — “—:-:—т-Рг+2
1 + /г-2 + Лг-1 1 + /г-2 + Лг-1 1 + /г + Лг+1 1 + / г + Лг+1
= 3/[жг-1, жг] — 3 Лг-^---/[хг-2, жг-1] — 3 /* ---/[жг,жг+1])
1+ /г-2 + Лг-1 1+ /г + Лг+1 (15)
г = 3, ..., N — 2,
Л;-зЛ;-2 р , 1 , /;-2(1 + / N-з^ . 2Л;-1 а _
"Р;-з + 1 + —:----------:—т----+ —----------- PN-1 =
1г / N-з + ЛN-2 1г / N-з + ЛN-2 2 + / N-1
= 3/[^-2, -1 ] — 3—----^-2-----/[ЗД-3|XN-2] — 3/[^-1, /ь
1+ /N-3 + ЛN-2 2 + /N-1 2
ЛN-2ЛN-1 п , о , / N-1(1 + / N-2) д _
■рN-2 + 2 + ^—:----------:—г- рN =
1 + / N-2 + ЛN-1 1 + / N-2 + ЛN-1
= ^-1 /ь' + 3/[ЗД-ЪЗД ] — 3 —----------,--/[^-1].
2 1 + / N-2 + ЛN-1
Доводы, аналогичные приводимым при рассмотрении системы (11), позволяют заключить, что неотрицательность величин гарантируется неотрицательностью правых частей уравнений системы (15), т. е. выполнением неравенств
/[жо,ж1] + £/Га — 1 , /1 , Л /[ж1, ж2] > 0) (16)
6
/— 2+л7 ¥/"— 2-+Г1Л7/[жо^ — 1 + Г+ Лз/^ > 0 (17)
/[жг-1,жг] — -Г-,—Лг-^------/[жг-2,жг-1] — т——----------------/[жг,жг+1] > 0)
1 + / г-2 + Лг-1 1 + / г + Лг+1
г = 3, ..., N — 2, (18)
/[^-2^-1] — —--------,-------------/[^-з,^-2] - /N-1 /[^-Ъ^] —
1 + / N-3 + ЛN-2 2 + / N-1
/N-1 ^-1 /Ь' > 0, (19)
2 + / N -1 6
^-1 / [ж ж ^ -1 / //
. ““Т / ^-2, жN-1] - Г
1 + / N-2 + ЛN-1 6
/[^-Ъ^] — ----—-/[^-1]---------—/Ь' > 0. (20)
Более того, если /' < 0 и /Ь' > 0, то величины во и вм+1 будут также неотрицательны в силу крайних уравнений системы (8). В противном случае, используя эти же два уравнения системы (8), в системе (15) от неизвестных в1 и вм перейдем к неизвестным в0 и вм+1. В результате вместо выполнения неравенств (16), (20) будем требовать выполнения неравенств
/[хо,х1 ] + у 1 + Л' - 1 + ^ + Л /[Х1 , х2] > 0, (21)
6 1 + /1 + Л2 1 + /1 + Л2
/] - , + Лм-+ Л /[хм-2,хм-1] - ^ 1 + /+-1(1 ++ Л-2) /' > 0 (22)
1 + / N-2 + Лм-1 6 1 + / N-2 + Лм-1
соответственно. Ясно, что оба неравенства (16), (21) будут выполнены, если
/[х0,х1] - у 1 + -.Л+(1 ++ЛЛ) |/Л - 1 + /1+ л /[х1,х2] > 0, (23)
6 1 + /1 + Л2 1 + /1 + Л2
аналогично будут выполнены (20) и (22), если
/[хм-1,хм] - .+ Лм-+ .--------/[х„-2,х„_,] - 1 + 1/+-1(1 ++'Л-г) |/'|> 0. (24)
1 + / м-2 + Лм-1 6 1 + / м-2 + Лм-1
Итак, установлена
Теорема 2. Кубический сплайн Б(х) с краевыми условиями (2), интерполирующий возрастающие данные (выполнены условия (10)), будет возрастающим, если имеют место неравенства (17) - (19), (23), (24).
Теоремы 1 и 2 определяют достаточные условия монотонности интерполяционного кубического сплайна Б(х) класса С2[а,Ь] с краевыми условиями задания либо первой, либо второй производных интерполируемой функции /(х) на концах отрезка [а, Ь]. Обратим внимание на то, что при монотонной интерполяции с краевыми условиями (1) задание значений производной на концах отрезка /, / должно быть согласовано с монотонностью функции. Надо позаботиться о выполнении (9), если точные значения /' (а) и /'(Ь) нам не известны и мы заменяем их какими-либо аппроксимациями. При использовании краевых условий (2) никаких ограничений на значения /' и /Ь' нет. Распространенный частный случай краевых условий (2) — задание нулевых значений второй производной на концах отрезка [а, Ь]. Такие краевые условия имеют свое название — естественные краевые условия. А соответствующий кубический сплайн класса С2[а,Ь] называют натуральным сплайном.
Следствие. Натуральный кубический сплайн Б(х), интерполирующий возрастающие данные, будет возрастающим, если выполнены неравенства
/[хо,х1] - т , /\ л /[х1, х2] > ° (25)
1 + 1 + Л2
/[х*-1,х*] - л /[хг-2, хг-1] - , / ' -/[хг,хг+1] > 0,
1 + / г-2 + Л^-1 1 + / г + Лт
г = 2, ...,Ж - 1, (26)
/[хм-1,хм] - —--------Лм-^-----/[хм-2,хм-1] > 0. (27)
1 + /м-2 + Лм-1
Следует заметить, что такие закрепившиеся за сплайном и краевыми условиями названия не совсем удачны в смысле практического использования. Они подталкивают неопытных исследователей и инженеров при отсутствии дополнительной информации о производных интерполируемой функции на концах отрезка использовать естественные краевые условия. Однако такой натуральный сплайн резко теряет в точности у концов отрезка
[12], что в свою очередь может незаслуженно вызвать негативное отношение к сплайнам вообще. Качество приближения сплайном у концов отрезка значительно повышается при приближенном задании с необходимым порядком точности значений /, / или /', /'. Другой вариант — использование краевых условий непрерывности третьей производной сплайна в узлах х1 и хм-1. Изучение интерполяции с такими краевыми условиями можно провести по той же схеме, что и в теоремах 1 и 2, но ввиду усложнения формул указанное исследование осталось за пределами данной статьи. В работе В. Л. Мирошниченко
[4] достаточные условия монотонности приводятся для кубических сплайнов и с такими краевыми условиями.
Сопоставим установленные нами достаточные условия монотонности классического кубического сплайна с аналогичными, полученными ранее В. Л. Мирошниченко [3, 4]. В случае краевых условий с первой производной условия В. Л. Мирошниченко можно представить в виде
/[х0,х1] - 1 /'а > ° /[х0,х1] - ^ /[х1, х2] > ° (28)
3 1 + /1
/[х*_1 ,х*] - Лгл1 /[х*-2,х*-1] > 0, /[х*-1,х*] - /г /[х*,х*+1] > 0,
1 + Лг-1 1 + /г
г = 2, ...,Ж - 1, (29)
/[хм-1 ,хм] - Лмл-1 /[хм-2,хм-1] > 0, /[хм-1,хм] - 1 /Ь > 0. (30)
1 + Лм-1 3
Ограничимся сравнением условий на равномерной сетке. Условия (28) - (30) в этом случае таковы:
/[х0,х1] - 1 /а > 0, /[х0,х1] - 3/[х1, х2] > ° (31)
/[хг-1,хг] - 3/[хг-2,хг-1] > 0, /[х^х*] - 1 /[хг,хт] > 0, г = 2, ... , N - 1, (32)
/[хм-1,хм] - 1 /[хм-2,хм-1] > 0, /[хм-1,хм] - 3/ > 0, (33)
а условия монотонности теоремы 1 имеют вид
/[x0, х1] - 1Л - 4/[х1, х2] > 0, (34)
/[х*-1, х*] - 1 /[х*-2, х*-1] - 1 /[хг,х*+1] > 0, г = 2, ..., N - 1, (35)
/[хм-1,хм] - 4/[хм-2,хм-1] - 3/Ь > 0. (36)
Чтобы выполнялось, например, неравенство (35) для некоторого г, первые разделенные разности /[х^^х*^] и /[х^х^] одновременно значительно больше, чем /[х^^х*], быть
не могут. При
2/[х*-1, х*] < /[х*-2, х*-1], 2/[х*-1 ,х*] < / [х*, х*+1]
неравенство (35) уже не выполняется. А в условиях В. Л. Мирошниченко неравенства (32) выполняются, если
3/[х*-1,х*] > /[х*-2,х*-1], 3/[х*-1,х*] > /[х*,х*+1].
Например, при соотношении
2.5/[х*-1, х*] = / [х*-2, х*-1] = / [х*, х*+1]
соответствующее неравенство (35) не выполняется, а неравенства (32) для рассматриваемого г выполняются.
Однако ситуация будет другой, если лишь одна из величин /[х*-2 ,х*-1] и / [х^х^] больше, чем /[х*-1, х*]. Например, если для некоторого г эти разделенные разности связаны соотношениями
0.5/[х*-1,х*] = / [х*-2,х*-1], 3.5/[х*-1,х*] = / [х*,х*+1],
то, наоборот, для соответствующего г выполняется неравенство (35), а неравенства (32) не выполняются.
Упомянем про недавние исследования В. И. Пинчукова [1, 2]. Монотонность сплайна для случая равномерной сетки гарантируется условиями
/[х*-1,х*] - 1 /[х*-2, х*-1] > 0, /[х*-1, х*] - 2^21_ 1 /[х*, х*+1] > 0,
которые значительно уступают условиям (32) или (35).
Итак, проведенное сравнение показывает, что установленные нами достаточные условия монотонности интерполяционного кубического сплайна на некоторых данных эффективнее условий В. Л. Мирошниченко [3, 4].
При решении практических задач достаточные условия можно использовать на этапе выбора интерполянта. Отказываться от использования классического кубического сплайна класса С2, естественно, следует только, если невозможно гарантировать его монотонность. Отметим, что при условии /;(х) > 0 на [а, Ь] путем загущения сетки всегда можно добиться выполнения достаточных условий монотонности [4].
В литературе описано много подходов к решению задачи интерполяции другими сплайнами — класса С1 или обобщенными. Известно, что задача монотонной интерполяции кубическими сплайнами класса С1 всегда разрешима, т. е. при любых монотонных данных, удовлетворяющих условиям (10), можно задать такие наклоны (узловые значения первых производных), что сплайн будет монотонен. Для наклонов установлены [13] необходимые и достаточные условия монотонности, т. е. точно описаны области допустимых значений этих производных. Разными специалистами предложено множество алгоритмов построения монотонных кубических сплайнов класса С1. Мы придерживаемся взглядов, высказываемых В. Л. Мирошниченко, о том, что при решении задачи монотонной интерполяции отталкиваться все-таки следует от классического кубического сплайна класса С2. Такой сплайн, хотя и нелокальный, обладает достаточно выраженными локальными свойствами (см. [12]). Его и следует “подправить” на тех участках, где не выполняются достаточные условия монотонности (например, теорема 1 или 2), или вблизи них.
Такая идея реализуется в работах В. И. Пинчукова [1, 2], однако здесь модификация сплайна осуществляется так, что он, вообще говоря, уже не аппроксимирует первую производную интерполируемой функции (в измененных уравнениях отсутствует баланс по первой производной). На наш взгляд, такая “модификация” представляется неудачной и малополезной. В этой связи отметим работу [14], в которой предложен алгоритм вычисления наклонов сплайна, не только обеспечивающий монотонность получающегося сплайна, но и дающий максимально возможный для кубических сплайнов порядок приближения — четвертый, если /(х) € С4[а,Ь].
В работе [15] рассматривается способ построения монотонного кубического сплайна как сплайна, минимизирующего кривизну при ограничениях на производную. Поскольку единственным решением минимизационной задачи без ограничений является обычный сплайн класса
С2,
то ограничения будут активны лишь на тех участках, где нарушаются условия монотонности классического сплайна. Такое решение задачи монотонной интерполяции кубическими сплайнами можно считать в какой-то мере оптимальным. Классический сплайн класса С2 и будет решением данной задачи, если он монотонен.
Однако недостаток здесь состоит в следующем. Решение минимизационной задачи гораздо сложнее, чем решение системы уравнений методом прогонки. Поэтому представляет интерес более “дешевая” модификация традиционного кубического сплайна. По нашему мнению, для этих целей идеально подходит взвешенный сплайн, введенный в работе [16] как раз для интерполяции быстро меняющихся данных.
Взвешенный сплайн является кубическим С1 сплайном, для которого условие непрерывности второй производной заменено условием
и^^х* + 0) = и^б^х* - 0), г = 1, ..., N - 1. (37)
Взвешенный сплайн был введен как решение задачи минимизации функционала
ь
и(х)[//;(х)]2^х (38)
а
с кусочно-постоянной весовой функцией и(х) > 0, х € [а, Ь], т. е.
и(х) = и*, х € [х*,х*+1], г = 0,1, ...,N - 1.
Задание весов и*, например, в виде
и* = 1 + (/[х*, х*+1])2 3 , г = 0,1, ...^ - 1
в какой-то мере учитывает особенности поведения интерполируемых данных, имеющих участки резкого изменения, так как подынтегральная функция в (38) есть приближенный квадрат кривизны графика функции / (х). Распространен и более общий вид весовых параметров
и* = 1 + (/[х* ,х*+1])2 п , г = 0,1, ...^ - 1, (39)
где п = 0,1,...
В. Л. Мирошниченко [17] показал, что задание параметров и* по формуле (39) с некоторыми п обеспечивает монотонность взвешенного кубического сплайна при интерполяции монотонных данных. Это означает, что на монотонных данных выбором весов и* всегда можно добиться монотонности сплайна класса С1 . Причем если все веса одинаковы, то
условия (37) превращаются в условия непрерывности второй производной сплайна, в этом случае получается обычный кубический сплайн класса С2. Более того, если соседние значения и*-1 и и* одинаковы, то достаточные условия монотонности взвешенного сплайна
wi-1 ^ hi-1 f [xi,xi+i] 2 f [xi-ijxi] 2 (40)
f [xi—1,xi] wi—1 — 1 f [xi,xi+1]
соответствующие данному индексу г, совпадают с соответствующими неравенствами достаточных условий монотонности (28)-(30) сплайна класса С2. Для того чтобы при интерполяции добиться монотонности кубического сплайна, В. Л. Мирошниченко [17] предлагает соседние веса и*-1, и* выбирать разными только там, где это необходимо, т. е. где условия (40) с одинаковыми значениями и*-1 и и* не выполняются. Такой выбор весов и* с выполнением неравенств (40) для г = 1, ... , N - 1 легко осуществить, например, рекуррентным образом, начиная с ио = 1.
Вообще говоря, любой кубический сплайн класса С1 , имеющий одинаковые знаки значений Б^х* - 0) и Б^х* + 0), можно рассматривать как взвешенный сплайн с некоторым набором весов {и*}. Достаточные условия монотонности [17] могут быть записаны в виде (28) - (30), только в этом случае коэффициенты л* и А* определяются другими формулами:
_ и* Л*-1 _
Л * = —;-----------:-г-, А* = 1 - Л*.
и* Л*-1 + и*-1 Л*
Тогда для любых положительных весов и* имеем
0 <7— < 1, 0 <7^ < 1.
1 + л * 2 1 + А* 2
Поэтому, если исходные данные таковы, что соседние первые разделенные разности от интерполируемой функции отличаются не более чем в 2 раза, то неравенства (29) при любых весах и* выполнены. Следовательно, справедлива
Теорема 3. Пусть Б(х) произвольный кубический сплайн класса С 1[а,Ь], интерполирующий в узлах сетки А монотонные данные /0 < /1 < ... < /^, односторонние значения второй производной которого в узлах сетки имеют одинаковые знаки. Тогда, если любые две соседние разделенные разности /[х^^х*] и /[х*,х*+1] отличаются не более чем в 2 раза и выполнены неравенства
3/[х0,х1] > Б;(а), 3/[х^-1,х^] > Б;(Ь),
сплайн Б(х) монотонен на [а, Ь].
Список литературы
[1] Пинчуков В. И. ENO-модификация нелокального кубического сплайна на равномерной сетке // Вычисл. технологии. 2000. Т. 5, №6. С. 62-69.
[2] Пинчуков В. И. Монотонный нелокальный кубический сплайн // Журн. вычисл. математики и мат. физики. 2001. Т. 41, №2. С. 200-206.
[3] Miroshnichenko V. L. Convex and monotone spline interpolation // Constructive Theory of Function’84: Proc. Intern. Conf., Varna, Sofia: Publ. House of Bulgarian Acad. of Sci. 1984. P. 610-620.
[4] МирошничЕнко В. Л. Достаточные условия монотонности и выпуклости для интерполяционных кубических сплайнов класса C2 // Вычислительные системы: Сб. науч. тр. / АН СССР. Сиб. отд-ние. ИМ. 1990. Вып. 137: Приближение сплайнами. С. 31-57 (Miroshnichenko V. L. Sufficient conditions for monotonicity and convexity of cubic splines of class C2 // Sib. Adv. Math. 1992. Vol. 2, No. 4. P. 147-163).
[5] Верлан И. И. Консервативная интерполяция обобщенными сплайнами: Автореф. дис. ... канд. физ.-мат. наук. М., 1989.
[6] Завьялов Ю. С. Монотонная интерполяция обобщенными кубическими сплайнами класса C2 // Вычислительные системы: Сб. науч. тр. / РАН. Сиб. отд-ние. ИМ. 1992. Вып. 147: Интерполяция и аппроксимация сплайнами. С. 44-67.
[7] Завьялов Ю. С. Выпуклая интерполяция обобщенными кубическими сплайнами класса C2 // Вычислительные системы: Сб. науч. тр. / РАН. Сиб. отд-ние. ИМ. 1995. Вып. 154. Сплайны и их приложения. С. 15-64.
[8] Волков Ю. С. Применение рациональных кубических сплайнов для расчета динамических характеристик двигателя // Вычислительные системы: Сб. науч. тр. / РАН. Сиб. отд-ние. ИМ. 1995. Вып. 154: Сплайны и их приложения. С. 65-72.
[9] KvASOv B. I. Methods of shape-preserving spline approximation. Singapore: World Scientific, 2000.
[10] Волков Ю. С. О неотрицательном решении системы уравнений с симметрической циркулянтной матрицей // Мат. заметки. 2001. Т. 70, вып. 2. С. 170-180.
[11] Волков Ю. С. О построении интерполяционных полиномиальных сплайнов // Вычислительные системы: Сб. науч. тр. / РАН. Сиб. отд-ние. ИМ. 1997. Вып. 159. Сплайн-функции и их приложения. С. 3-18.
[12] Завьялов Ю. С., Квасов Б. И., МирошничЕнко В. Л. Методы сплайн-функций. М.: Наука, 1980.
[13] Fritsch F.N., Carlson R. E. Monotone piecewise cubic interpolation // SIAM J. Numer. Anal. 1980. Vol. 17, No. 2. P. 238-246.
[14] Eisenstat S. C., Jackson K. R., Lewis J. W. The order of monotone piecewise cubic interpolation // SIAM J. Numer. Anal. 1985. Vol. 22, No. 6. P. 1220-1237.
[15] Dietze S., Schmidt j. W. Determination of shape preserving spline interpolants with minimal curvature via dual programs // J. Approxim. Theory. 1988. Vol. 52, No. 1. P. 43-57.
[16] SALKAuSKAS K. C1 splines for interpolation of rapidly varying data // Rocky Mountain J. of Math. 1984. Vol. 14, No. 1. P. 239-250.
[17] МирошничЕнко В. Л. Изогеометрические свойства и погрешность аппроксимации взвешенных кубических сплайнов // Вычислительные системы: Сб. науч. тр. / РАН. Сиб. отд-ние. ИМ. 1995. Вып. 154. Сплайны и их приложения. С. 127-154.
Поступила в редакцию 11 мая 2001 г.