Текст подпрограммы и версий ( Фортран ) 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 |
Вычисление значения в заданной точке интерполируемой табличной функции, определенной в узлах неравномерной сетки, упорядоченной по возрастанию, по известным значениям ее второй производной в узлах этой сетки методом кубических сплайнов.
Пусть заданы узлы неравномерной сетки 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