Текст подпрограммы и версий ( Фортран )
qts8r.zip  qts8d.zip 
Тексты тестовых примеров ( Фортран )
tqts8r.zip  tqts8d.zip 
Текст подпрограммы и версий ( Си )
qts8r_c.zip  qts8d_c.zip 
Тексты тестовых примеров ( Си )
tqts8r_c.zip  tqts8d_c.zip 
Текст подпрограммы и версий ( Паскаль )
qts8r_p.zip  qts8e_p.zip 
Тексты тестовых примеров ( Паскаль )
tqts8r_p.zip  tqts8e_p.zip 

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

Назначение

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

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

Вычисляется значение двойного определенного интеграла от табличной функции f (x, y), заданной на неравномерной сетке (xi, yj),   i = 1, ..., N,  j = 1, ..., M, по квадратурной формуле, точной для многочленов второй степени.

Н.С.Бахвалов. Численные методы, "Hаука", M., 1975.

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

    SUBROUTINE  QTS8R (RINT, X1, X2, N, M, F, B1) 

Параметры

RINT - вещественная переменная, содержащая вычисленное значение интеграла;
X1 - вещественный вектоp длины N, содержащий узлы неравномерной сетки по x;
X2 - вещественный вектоp длины M, содержащий узлы неравномерной сетки по y;
N - заданное число узлов сетки по x (тип: целый);
M - заданное число узлов сетки по y (тип: целый);
F - вещественный двумерный массив размера N на M, содержащий значения функции f (x, y);
B1 - вещественный вектоp длины N, используемый в подпрограмме в качестве рабочего.

Версии

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

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

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

 

Требуется, чтобы  xi > xi - 1,  i = 2, ..., N,  yj > yj - 1,  j = 2, ..., M;  N ≥ 3,  M ≥ 3.

В подпрограмме QTS8D параметры RINT, X1, X2, F, B1 имеют тип DOUBLE PRECISION.

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

          DIMENSION X1(50), X2(40), F(50, 40), B1(50)
          H1 = 3.14159 / 49.
          H2 = 3.14159 / 39.
          N = 50
          M = 40
          X1(1) = 0.
          X2(1) = 0.
          X1(2) = H1 / 4.
          X2(2) = H2 / 4.
          DO 1 I = 3, N
       1 X1(I) = X1(I - 2) + 2.*H1
          DO 2 J = 3, M
       2 X2(J) = X2(J - 2) + 2.*H2
          DO 3 I = 1, N
          DO 3 J = 1, M
          X = X1(I) + X2(J)
       3 F(I, J) = SIN(X)
          CALL  QTS8R (RINT, X1, X2, N, M, F, B1)

Результат:

       RINT  =  0.21648