Текст подпрограммы и версий ( Фортран ) iis5r.zip |
Тексты тестовых примеров ( Фортран ) tiis5r.zip |
Текст подпрограммы и версий ( Си ) iis5r_c.zip |
Тексты тестовых примеров ( Си ) tiis5r_c.zip |
Текст подпрограммы и версий ( Паскаль ) iis5r_p.zip |
Тексты тестовых примеров ( Паскаль ) tiis5r_p.zip |
Вычисление значений интерполяционного натурального бикубического сплайна на заданном множестве точек.
Вычисляются значения натурального бикубического сплайна S (x, y), соответствующего двумерной сетке {x i, yj}, i = 1, 2, ..., NX, j = 1, 2, ..., NY, и интерполирующего заданные значения f i j = f (x i, yj) в узлах сетки на множестве точек (xl m, yl n), m = 1, 2, ..., NXL, n = 1, 2, ..., NYL.
Для этого библиотечные подпрограммы I IS3R и I IS4R вызываются NY раз для интерполяции в направлении оси x в точках (xl i, y j), i = 1, 2, ..., NXL, j = 1, 2, ..., NY, а затем NXL раз для интерполяции в направлении оси Y в точках (xl i, yl j), i = 1, 2, ..., NXL, j = 1, 2, ..., NYL.
Дж.Алберг, Э.Нильсон, Дж.Уолш, Теория сплайнов и ее приложения, M., Мир, 1972.
SUBROUTINE I IS5R (F, X, NX, Y, NY, XL, NXL, YL, NYL, FL, WK, IERR)
Параметры
F - | вещественный двумерный массив размера NX * NY, содержащий заданные в узлах двумерной сетки значения интерполируемой функции; |
X - | вещественный вектоp длины NX, содержащий заданные значения узлов одномерной сетки по оси x, и упорядоченный так, что X (1) < X (2) < ... < X (NX); |
NX - | заданное число узлов одномерной сетки по оси x, NX ≥ 2 (тип: целый); |
Y - | вещественный вектоp длины NY, содержащий заданные значения узлов одномерной сетки по оси Y, и упорядоченный так, что Y (1) < Y (2) < ... < Y (NY); |
NY - | заданное число узлов одномерной сетки по оси y, NY ≥ 2 (тип: целый); |
XL - | вещественный вектоp длины NXL, содержащий заданные абсциссы точек, в которых вычисляются значения интерполяционного натурального бикубического сплайна; |
NXL - | заданное число элементов вектоpа XL (тип: целый); |
YL - | вещественный вектоp длины NYL, содержащий заданные ординаты точек, в которых вычисляются значения интерполяционного натурального бикубического сплайна; |
NYL - | заданное число элементов вектоpа YL (тип: целый); |
FL - | вещественный двумерный массив размера NXL * MAX (NYL, NY), содержащий вычисленные значения интерполяционного натурального бикубического сплайна; |
WK - | вещественный вектоp длины MAX ((NX - 1) * 3, (NY - 1) * 3 + NY), используемый подпрограммой как рабочий; |
IERR - | целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом: |
IERR = 1 - | когда одна или несколько заданных точек сетки XL меньше X (1) или больше X (NX); |
IERR = 2 - | когда одна или несколько заданных точек сетки YL меньше Y (1) или больше Y (NY); |
IERR=65 - | когда заданное число узлов сетки по X меньше 2; |
IERR=66 - | когда заданное число узлов сетки по Y меньше 2; |
IERR=67 - | когда элементы вектоpа X не упорядочены по возрастанию; |
IERR=68 - | когда элементы вектоpа Y не упорядочены по возрастанию. |
Версии: нет
Вызываемые подпрограммы
I IS3R - | интерполяция кубическим сплайном табличной функции от одной переменной на неравномерной сетке при известных краевых условиях на вторые производные. |
I IS4R - | вычисление значений интерполяционного кубического сплайна в заданных точках. |
UTI I10 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы IIS5R. |
Замечания по использованию: нет
DIMENSION F(3, 3), X(3), Y(3), FL(2, 3), XL(2), YL(2), WK(9) DATA X /1., 3., 5./ DATA Y /1., 3., 5./ DATA F /2., 4., 3., 0.5, 1., 0.75, 1., 2., 1.5/ DATA XL /1., 1.5/ DATA YL /1.5, 2./ NX = 3 NY = 3 NXL = 2 NYL = 2 CALL IIS5R (F, X, NX, Y, NY, XL, NXL, YL, NYL, FL, WK, IERR) Результаты: IERR = 0 | 1.508 1.062 | FL = | | | 2.017 1.422 | S (1., 1.5) = 1.508 S (1.5, 1.5) = 2.017 S (1., 2.) = 1.062 S (1.5, 2.) = 1.422