Найти в Дзене
Андрей Куликов

Глобальный кубический сплайн из справочника Дьяконова на Borland Turbo Basic

.................................................."Даром дадено, даром давайте", - Исус Христос. Версия № 2025.12.04. В отличие от локальных кубических сплайнов, глобальный кубический сплайн обеспечивают непрерывность не только первой, но и второй производной, но его вычисление сложнее, чем вычисление локальных сплайнов. В справочнике Дьяконова "Справочник по алгоритмам и программам на языке бэйсик для персональных ЭВМ", в "Приложении 5. Программная реализация некоторых численных методов частного применения", в параграфе "§ П5.11. Сплайн-аппроксимация, интерполяция и экстраполяция", приводится описание вычисления глобального кубического сплайна. Там же приведена "Программа П5.11." на бэйсике для карманной ПЭВМ (Pocket Computer) CASIO FX-702P. Для применения этой программы на компьютерах с ОС Windows автором был сделан перевод программы П5.11 с бэйсика CASIO FX-702P на Borland Turbo Basic. Алгоритм программы П5.11, приведённой в справочнике Дьяконова, отличается от других тем, что,

.................................................."Даром дадено, даром давайте", - Исус Христос.

Версия № 2025.12.04.

В отличие от локальных кубических сплайнов, глобальный кубический сплайн обеспечивают непрерывность не только первой, но и второй производной, но его вычисление сложнее, чем вычисление локальных сплайнов.

В справочнике Дьяконова "Справочник по алгоритмам и программам на языке бэйсик для персональных ЭВМ", в "Приложении 5. Программная реализация некоторых численных методов частного применения", в параграфе "§ П5.11. Сплайн-аппроксимация, интерполяция и экстраполяция", приводится описание вычисления глобального кубического сплайна. Там же приведена "Программа П5.11." на бэйсике для карманной ПЭВМ (Pocket Computer) CASIO FX-702P. Для применения этой программы на компьютерах с ОС Windows автором был сделан перевод программы П5.11 с бэйсика CASIO FX-702P на Borland Turbo Basic.

Алгоритм программы П5.11, приведённой в справочнике Дьяконова, отличается от других тем, что, кроме интерполяции, позволяет делать небольшую экстраполяцию за пределами отрезка определения сплайна, т.е. может быть применён и для краткосрочных прогнозов.

В программе П5.11 сначала по формуле:

Рис.1. Формула для уравнений трёхдиагональной СЛАУ.

составляют трёхдиагональную СЛАУ, состоящую из N-2 уравнений при N неизвестных. К ним добавляются ещё 2 недостающих уравнения для крайних точек. Если вторые производные в граничных точках равны нулю (M_1=0 и M_N=0), то получаем нормальную сплайн-функцию. При решении СЛАУ с трёхдиагональной матрицей методом прогонки Томаса, при прямом ходе, матрица СЛАУ приводится к правому верхнему (Right-Upper) треугольному виду. На обратном ходу прогонки вычисляются значения в узлах второй производной M_i.

После этого значения сплайна в любой точке отрезка определения сплайна вычисляются по нижеприведённым формулам со вторыми производными:

-2

Рис.2. Формулы для интерполяции и линейной экстраполяции глобальным кубическим сплайном из справочника Дьяконова, где M_i - значение второй производной в узле, h_i=x_{i+1}-x_i, i=1,2,3,...n.

В справочнике Дьяконова, во второй формуле, в последних скобках, бес вместо x_1 поставил a_1.

1. Программа P5-11.BAS на Borland Turbo Basic

-3
-4
-5

Рис.3. Снимок с экрана результата прогона программы P5-11.BAS с контрольным примером из справочника Дьяконова в компиляторе Borland Turbo Basic.

Для запуска программы скачивается приложение DOSBox 0.74, ярлык DOSBox'а размещается на рабочем столе, архив с файлами ТурбоБэйсика и программы P5-11.BAS и P5-11G.BAS скачивается и помещается в отдельную папку, архив распаковывается в ту же папку и прямо из папки файл TB.EXE перетаскивается на ярлык DOSBox'а. Далее: File->Load-><Enter>->P5-11.BAS<Enter>->Run.

-6

Рис.4. Снимок с экрана результата прогона программы P5-11G.BAS с графическим выводом в компиляторе Borland TurboBasic.

Литература:

1. Д ь я к о н о в В. П. Справочник по алгоритмам и программам на языке бейсик для персональных ЭВМ: Справочник. — М.: Наука. Гл. ред. физ.-мат. лит., 1989. — 240 с. — ISBN 5-02-014530-0. Файл: diakonovvp8.djvu

2. Сплайны в вычислительной математике. С т е ч к и н С. Б., С у б б о т и н Ю. Н., Главная редакция физико-математической литературы издательства "Наука", М., 1976, 248 стр. https://disk.yandex.ru/d/agvjylaKKUo3Zg

Глава II. Параболические и кубические сплайны. § 4. Кубические сплайны, стр. 83.

3. Численные методы [Электронный ресурс] / Н. С. Бахвалов, Н. П. Жидков, Г. М. Кобельков. - 8-е изд. (эл.). - Электрон. текстовые дан. (1 файл pdf : 639 с.). - М. : БИНОМ. Лаборатория знаний, 2015. - (Классический университетский учебник). - Систем. требования: Adobe Reader XI ; экран 10''. ISBN 978-5-9963-2616-7 https://disk.yandex.ru/i/Qvp3hjz34P7Dnw

Глава 4. Приближение функций и смежные вопросы. § 8. Интерполяция и приближение сплайнами. с.194, формулы (8) и (9).

4. Амосов А.А., Дубинский Ю.А., Копченова Н.В. Вычислительные методы для инженеров: Учеб. пособие. — М.: Высш. шк., 1994. — 544 с. § 11.11. Интерполяция сплайнами. (История возникновения сплайн-функций.) Файл: PPFsrza9PEZHq.djvu

5. В о л к о в Е. А. Численные методы: Учеб. пособие для вузов. — 2-е изд., испр. — М.: Наука. Гл. ред. физ.-мат. лит., 1987. — 248 с. Файл: Численные методы Волков.djvu

6. Кубический сплайн. Википедия.

Приложения:

1. Программа P5-11.BAS

2. Программа P5-11G.BAS

3. Borland Turbo Basic

4. Borland Turbo Basic. Руководство пользователя

#it technologies #splines #cubic splines #programms #Basic #TurboBasic #Borland TurboBasic #Численные методы #Сплайны #Кубические сплайны #программы