Текст подпрограммы и версий
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

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

Назначение

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

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

Пусть заданы узлы неравномерной сетки  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 )