Текст подпрограммы и версий ( Фортран ) ids5r.zip |
Тексты тестовых примеров ( Фортран ) tids5r.zip |
Текст подпрограммы и версий ( Си ) ids5r_c.zip |
Тексты тестовых примеров ( Си ) tids5r_c.zip |
Текст подпрограммы и версий ( Паскаль ) ids5r_p.zip |
Тексты тестовых примеров ( Паскаль ) tids5r_p.zip |
Вычисление значений вторых производных вещественной табличной периодической функции от одного переменного в узлах неравномерной сетки, методом интерполирующих кубических сплайнов.
Пусть в узлах сетки xk : x1 < x2 < ...< xN заданы значения yk = y (xk). Интерполирующая функция y (x) является периодической на отрезке [x1, xN] и на каждом из отрезков [xk, xk + 1] представляется кубическим полиномом Эрмита [1], построенным по значениям yi, y''i и yi + 1 , y''i + 1 , где y''i = y'' (xi) определяются из условия непрерывности первой производной функции y (x) в узловых точках [2]. Это обеспечивает гладкость второго порядка y (x) на всем отрезке [x1, xN].
1. |
И.С.Березин, Н.П.Жидков, Методы вычислений, т. 1, Физматгиз, 1962. |
2. | Дж.Алберг, Э.Нильсон, Дж.Уолш, Теория сплайнов и ее приложения. M., "Мир", 1972. |
SUBROUTINE IDS5R (N, X, Y, Y2, F, G, H)
Параметры
N - | число узлов сетки, N ≥ 3 (тип: целый); |
X - | одномерный массив размерности N значений узлов сетки (тип: вещественный); |
Y - | одномерный массив размерности N значений табличной функции (тип: вещественный); |
Y2 - | одномерный массив размерности N вычисляемых значений вторых производных в узлах сетки (тип: вещественный); |
F, G, H - | одномерные рабочие массивы размерности N (тип: вещественный). |
Версии: нет
Вызываемые подпрограммы: нет
Замечания по использованию: нет
На сетке xk = (k-1)*2π/5 брались значения yk = cos (xk) , k = 1, ..., 6 .
DIMENSION X(6), Y(6), Y2(6), F(6), G(6), H(6) PI = 2*3.141592653/5. N = 6 DO 1 K = 1, 6 X(K) = (K - 1)*PI Y(K) = COS( X(K) ) 1 CONTINUE CALL IDS5R (N, X, Y, Y2, F, G, H) Результат: ( -1.2, -0.34, 0.93, 0.85, -0.10, -1.20 )