Текст подпрограммы и версий ( Фортран )
iis8r.zip , iis8d.zip
Тексты тестовых примеров ( Фортран )
tiis8r.zip , tiis8d.zip
Текст подпрограммы и версий ( Си )
iis8r_c.zip , iis8d_c.zip
Тексты тестовых примеров ( Си )
tiis8r_c.zip , tiis8d_c.zip
Текст подпрограммы и версий ( Паскаль )
iis8r_p.zip , iis8e_p.zip
Тексты тестовых примеров ( Паскаль )
tiis8r_p.zip , tiis8e_p.zip

Подпрограмма:  IIS8R

Назначение

Вычисление значения в заданной точке интерполируемой табличной функции, определенной в узлах неравномерной сетки, упорядоченной по возрастанию, по известным значениям ее второй производной в узлах этой сетки методом кубических сплайнов.

Математическое описание

Пусть заданы узлы неравномерной сетки  x1, x2, ..., xN, упорядоченные по возрастанию:  x1 < x2 < ...< xN и значения  y1, y2, ..., yN интерполируемой функции  f (x) в узлах этой сетки. Пусть заданы также значения второй производной функции  f (x) в тех же узлах. Подпрограмма I IS8R вычисляет значение Y функции  f (x) в заданной точке X методом кубических сплайнов.

Н.С.Бахвалов. Численные методы. Изд - во "Наука", 1973.

Использование

    SUBROUTINE  I IS8R (XA, YA, Y2A, N, X, Y, IERR) 

Параметры

XA - вещественный вектор длины N, содержащий узлы заданной сетки  x1, x2, ..., xN, упорядоченные по возрастанию;
YA - вещественный вектор длины N, содержащий значения  y1, y2, ..., yN интерполируемой функции в узлах заданной сетки;
Y2A - вещественный вектор длины N, содержащий значения второй производной интерполируемой функции в узлах заданной сетки;
N - количество узлов сетки (тип: целый);
X - заданная точка, в которой ищется значение интерполируемой функции (тип: вещественный);
Y - вещественная переменная, содержащая вычисленное значение интерполируемой функции в точке X;
IERR - целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом
IERR=65 - когда по крайней мере два узла сетки совпадают.

Версии

I IS8D - вычисление значения в заданной точке интерполируемой табличной функции,определенной в узлах неравномерной сетки, упорядоченной по возрастанию, по известным значениям ее второй производной в узлах этой сетки методом кубических сплайнов в режиме удвоенной точности. При этом параметры XA, YA, Y2A, X, и Y должны иметь тип DOUBLE PRECISION.

Вызываемые подпрограммы

UTI I10 - подпрограмма выдачи диагностических сообщений при работе подпрограммы I IS8R;
UTI I11 - подпрограмма выдачи диагностических сообщений при работе подпрограммы I IS8D.

Замечания по использованию: нет

Пример использования

       DIMENSION  XA(5), YA(5), Y2A(5) 
       N = 5 
       R = 0.0 
       DO 1  I = 1, N 
       XA(I) = R 
       YA(I) = SIN(XA(I)) 
       Y2A(I) = -YA(I) 
    1 R = R + 0.2 
       X = 0.5 
       CALL  IIS8R (XA, YA, Y2A, N, X, Y, IERR) 
      
Результаты:
    
             Y  =  0.47942 
       IERR  =  0