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