Текст подпрограммы и версий ( Фортран )
idb9r.zip , idb9d.zip
Тексты тестовых примеров ( Фортран )
tidb9r.zip , tidb9d.zip
Текст подпрограммы и версий ( Си )
idb9r_c.zip , idb9d_c.zip
Тексты тестовых примеров ( Си )
tidb9r_c.zip , tidb9d_c.zip
Текст подпрограммы и версий ( Паскаль )
idb9r_p.zip , idb9e_p.zip
Тексты тестовых примеров ( Паскаль )
tidb9r_p.zip , tidb9e_p.zip

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

Назначение

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

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

Пусть заданы узлы неравномерной прямоугольной сетки:

   X1A = { x1(1), x2(1), ..., xM(1) } ;   X2A  =  { x1(2), x2(2), ..., xN(2) }

и значения функции  f ( x(1), x(2) ) в узлах этой сетки:

  YA(I, J)  =  f ( X1A(I), X2A(J) ) ,   I = 1, 2, ..., M ;   J = 1, 2, ..., N.

Предполагается, что  x1(1) < x2(1) <...< xM(1)  и  x1(2) < x2(2) <...< xN(2). 

Подпрограмма IDB9R вычисляет вторые частные производные

2 f (x(1), x(2)) / ∂x(2) 2 

в узлах заданной сетки методом одномерных натуральных кубических сплайнов по направлению x (2).

Н.С.Бахвалов. Численные методы. Изд - во "Наука", 1973.

Использование

    SUBROUTINE  IDB9R (X1A, X2A, YA, M, N, Y2A, YT, Y2T, RAB) 

Параметры

            X1A -
            X2A  
вещественные векторы длины M и N, содержащие узлы  { x1 (1), x2 (1), ...,xM (1)}  и  { x1 (2), x2 (2), ...,xN (2)} соответственно;
YA - вещественный двумерный массив размеров M на N, содержащий значения функции  f (x (1), x (2)) двух переменных в узлах заданной сетки;
M, N - длины векторов X1A и X2A соответственно (тип: целый);
Y2A - вещественный двумерный массив размеров M на N, содержащий вычисленные значения второй частной производной функции  f по второй переменной в узлах заданной сетки;
         YT, Y2T -
         RAB  
вещественные векторы длины N, используемые в подпрограмме в качестве рабочих.

Версии

IDB9D - вычисление второй частной производной функции двух переменных, заданной на прямоугольной неравномерной сетке, по второй переменной методом одномерных натуральных кубических сплайнов в режиме удвоенной точности; все формальные параметры, за исключением M и N, должны иметь тип DOUBLE PRECISION.

Вызываемые подпрограммы

       IDS8R -
       IDS8D  
вычисление вторых производных таблично - заданной функции в узлах неравномерной сетки методом кубических или натуральных кубических сплайнов при заданных первых производных функции в концевых узлах сетки в режимах одинарной и удвоенной точности соответственно; используются в подпрограммах IDB9R и IDB9D.

Замечания по использованию: нет

Пример использования

       REAL  X1A(5), X2A(4), YA(5, 4), Y2A(5, 4), YT(4), Y2T(4), RAB(4) 
       M = 5 
       N = 4 
       R = 0.0 
       DO 1  I = 1, M 
       X1A(I) = R 
    1 R = R + 0.1 
       R = 0.0 
       DO 2  I = 1, N 
       X2A(I) = R 
    2 R = R + 0.1 
       DO 3  I = 1, M 
       DO 3  J = 1, N 
       YA(I, J) = SIN(X1A(I))*SIN(X2A(J)) 
       CALL  IDB9R (X1A, X2A, YA, M, N, Y2A, YT, Y2T, RAB) 

Результаты:      

                   |  0.0      0.0                    0.0                    0.0
                   |  0.0     -0.80066E-02   -0.27724E-01    0.0
       Y2A = |   0.0     -0.15933E-01   -0.55172E-01    0.0
                   |  0.0     -0.23700E-01   -0.82068E-01    0.0
                   |  0.0     -0.31230E-01   -0.10814            0.0