Текст подпрограммы и версий ids8r.zip , ids8d.zip |
Тексты тестовых примеров tids8r.zip , tids8d.zip |
Текст подпрограммы и версий ( Си ) ids8r_c.zip , ids8d_c.zip |
Тексты тестовых примеров ( Си ) tids8r_c.zip , tids8d_c.zip |
Текст подпрограммы и версий ( Паскаль ) ids8r_p.zip , ids8e_p.zip |
Тексты тестовых примеров ( Паскаль ) tids8r_p.zip , tids8e_p.zip |
Вычисление вторых производных таблично - заданной функции в узлах неравномерной сетки методом кубических или натуральных кубических сплайнов при заданных первых производных функции в концевых узлах сетки.
Пусть заданы узлы неравномерной сетки x1, x2, ..., xN, упорядоченные по возрастанию: x1 < x2 < ...< xN и значения y1, y2, ..., yN функции f (x) в узлах этой сетки. Пусть также известны значения YP1 и YPN первой производной функции f (x) в концевых узлах x1 и xN соответственно.
Если YP1 и YPN меньше (XMAX) 1/2, где XMAX - наибольшее положительное вещественное число, представимое на используемой машине, то подпрограмма IDS8R вычисляет вторые производные функции f (x) в узлах заданной сетки методом кубических сплайнов. Если же YP1 и/или YPN больше или равны (XMAX) 1/2, то подпрограмма IDS8R при вычислении вторых производных устанавливает соответствующее краевое условие для натурального кубического сплайна (нулевое значение второй производной в соответствующем концевом узле).
Н.С.Бахвалов. Численные методы. Изд - во "Наука", 1973.
SUBROUTINE IDS8R (X, Y, N, YP1, YPN, Y2, U)
Параметры
X - | вещественный вектор длины N, содержащий узлы заданной неравномерной сетки x1, x2, ..., xN, упорядоченные по возрастанию; |
Y - | вещественный вектор длины N, содержащий значения y1, y2, ...,yN функции f (x) в узлах заданной сетки; |
N - | количество узлов сетки (тип: целый); |
YP1 - | заданное значение первой производной функции f (x) в узле x1 (тип: вещественный); |
YPN - | заданное значение первой производной функции f (x) в узле xN (тип: вещественный); |
Y2 - | вещественный вектор длины N, содержащий вычисленные вторые производные функции f (x) в узлах заданной сетки; |
U - | вещественный вектор длины N, используемый в подпрограмме в качестве рабочего. |
Версии
IDS8D - | вычисление вторых производных таблично - заданной функции в узлах неравномерной сетки методом кубических или натуральных кубических сплайнов при заданных первых производных функции в концевых узлах сетки в режиме удвоенной точности. При этом параметры X, Y, YP1, YP2 и Y2 должны иметь тип DOUBLE PRECISION. |
Вызываемые подпрограммы: нет
Замечания по использованию: нет
DIMENSION X(5), Y(5), Y2(5), U(5) N = 5 R = 0.0 DO 1 I = 1, N X(I) = R Y(I) = SIN(X(I)) 1 R = R + 0.2 YP1 = COS(X(1)) YPN = COS(X(N)) CALL IDS8R (X, Y, N, YP1, YPN, Y2, U) Результаты: Y2 = ( -0.15369E+00, -0.19929E+00, -0.39072E+00, -0.56655E+00, -0.71964E+00 )