В отличие от локальных кубических сплайнов с равно отстоящими значениями по оси абцисс, глобальный кубический сплайн обеспечивают непрерывность не только первой, но и второй производной, но их вычисление сложнее, чем вычисление локальных сплайнов.
В справочнике Дьяконова "Справочник по алгоритмам и программам на языке бэйсик для персональных ЭВМ", в "Приложении 5. Программная реализация некоторых численных методов частного применения", в параграфе "§ П5.11. Сплайн-аппроксимация, интерполяция и экстраполяция", приводится описание вычисления глобального кубического сплайна. Там же приведена "Программа П5.11." на бэйсике для карманной ПЭВМ (Pocket Computer) CASIO FX-702P. Для применения этой программы на компьютерах с ОС Windows автором было сделано исправленное переиздание параграфа § П5.11 с переводом программы П5.11 с бэйсика CASIO FX-702P на Borland TurboBasic 1.1.
В программе сначала вычисляются значения второй производной m_i в каждом узле, после чего значения сплайна в любой точке вычисляются по нижеприведённым формулам:
Рис.1. Формулы для интерполяции и линейной экстраполяции глобальным кубическим сплайном из справочника Дьяконова, где m - значение второй производной в узле, h_i=x_{i+1}-x_i, i=1,2,3,...n.
Из-за того, что в этой формуле используются вторые производные, она сложнее, но требует в каждом узле на одно значение меньшей памяти.
В справочнике Дьяконова, в последних скобках во второй формуле, вместо x_1 бес поставил a_1.
Рис.2. Снимок с экрана результата прогона контрольного примера.
В результате прогона программы П5.11 приведены: номера семи точек, значения X в этих семи точках, значения Y[N] в этих семи точках, значения второй производной в этих семи точках M[N] и результаты интерполяции глобальным кубическим сплайном Y[X] в 2-х точках X и экстраполяции глобальным кубическим сплайном Y[X] в 3-й точке X.
Рис.3. Снимок с экрана результата прогона программы с графическим выводом с контрольным примером "парабола" без узла Y[X]=Y[3]=9.
Для запуска программы скачивается приложение DOSBox 0.74, ярлык DOSBox'а размещается на рабочем столе, файл с архивом CSD511.rar скачивается и помещается в отдельную папку, распаковывается в ту же папку и прямо из папки файл TB.EXE перетаскивается на ярлык DOSBox'а. Далее: File->Load-><Enter>->P5-11.BAS<Enter>->Run.
Литература:
1. В о л к о в Е. А. Численные методы: Учеб. пособие для вузов. — 2-е изд., испр. — М.: Наука. Гл. ред. физ.-мат. лит., 1987. — 248 с. Файл: Численные методы Волков.djvu
2. Д ь я к о н о в В. П. Справочник по алгоритмам и программам на языке бейсик для персональных ЭВМ: Справочник. — М.: Наука. Гл. ред. физ.-мат. лит., 1989. — 240 с. — ISBN 5-02-014530-0. Файл: diakonovvp8.djvu
3. Амосов А.А., Дубинский Ю.А., Копченова Н.В. Вычислительные методы для инженеров: Учеб. пособие. — М.: Высш. шк., 1994. — 544 с. § 11.11. Интерполяция сплайнами. (История возникновения сплайн-функций.) Файл: PPFsrza9PEZHq.djvu
4. Кубический сплайн. Википедия.
Приложения:
1. Файл с архивом: CSD511.rar
В архиве CSD511.rar находятся:
1.1. Borland TurboBasic 1.1. Файл: TB.EXE и файл конфигурации: TBCONFIG.TB
1.2. Программа П5.11 на Borland TurboBasic'е. Файл: P5-11.BAS
1.3. Программа П5.11 на Borland TurboBasic'е с графическим выводом. Файл: P5-11G.BAS
1.3. Справочник по Borland TurboBasic'у. Файл: TBASIC.TXT
1.4. Исправленное переиздание параграфа § П5.11. Сплайн-аппроксимация интерполяция и экстраполяция из справочника Дьяконова с программами П5.11 на Borland TurboBasic'е с цифровым и с графическим выводом: файл CubicSpline511.pdf, файл CubicSpline511.odt и другие вспомогательные файлы.
Версия 2024.01.25.
#it technologies #splines #cubic splines #programms #Basic #TurboBasic #Borland TurboBasic #Численные методы #Сплайны #Кубические сплайны #программы