|
Текст подпрограммы и версий ( Фортран ) qtsxr.zip qtsxd.zip |
Тексты тестовых примеров ( Фортран ) tqtsxr.zip tqtsxd.zip |
|
Текст подпрограммы и версий ( Си ) qtsxr_c.zip qtsxd_c.zip |
Тексты тестовых примеров ( Си ) tqtsxr_c.zip tqtsxd_c.zip |
|
Текст подпрограммы и версий ( Паскаль ) qtsxr_p.zip qtsxe_p.zip |
Тексты тестовых примеров ( Паскаль ) tqtsxr_p.zip tqtsxe_p.zip |
Вычисление неопределенного двукратного интеграла от табличной функции, заданной на неравномерной сетке, по квадратурной формуле, точной для многочленов второй степени.
Вычисляются значения неопределенного двойного интеграла по прямоугольникам x1 ≤ x ≤ xi, y1 ≤ y ≤ yj, от табличной функции f (x, y), заданной на неравномерной сетке (xi, yj), i = 1, 2, ..., N, j = 1, 2, ..., M, по квадратурной формуле, точной для многочленов второй степени.
Н.С.Бахвалов. Численные методы, "Hаука", 1975.
SUBROUTINE QTSXR (RINT, X1, X2, F, N, M)
Параметры
| RINT - | вещественный двумерный массив размера N на M, содержащий вычисленные значения неопределенного интеграла; |
| X1 - | вещественный вектоp длины N, содержащий значения узлов неравномерной сетки по x; |
| X2 - | вещественный вектоp длины M, содержащий значения узлов неравномерной сетки по y; |
| F - | вещественный двумерный массив размера N на M, содержащий значения подинтегральной функции f (x, y); |
| N - | заданное число узлов сетки по x (тип: целый); |
| M - | заданное число узлов сетки по y (тип: целый). |
Версии
| QTSXD - | вычисление с удвоенной точностью неопределенного двукратного интеграла от табличной функции, заданной на неравномерной сетке, по квадратурной формуле, точной для многочленов второй степени. |
Вызываемые подпрограммы: нет
Замечания по использованию
|
Требуется, чтобы N ≥ 4 и M ≥ 4. В подпрограмме QTSXD параметры RINT, X1, X2, F имеют тип DOUBLE PRECISION. |
DIMENSION F(50, 40), RINT(50, 40), X1(50), X2(40)
H1 = 6.28318 / 49.
H2 = 6.28318 / 39.
N = 50
M = 40
X1(1) = 0.
X2(1) = 0.
X1(2) = H1 / 8.
X2(2) = H2 / 8.
DO 1 I = 3, N
1 X1(I) = X1(I - 2) + H1
DO 2 J = 3, M
2 X2(J) = X2(J - 2) + H2
DO 3 I = 1, N
DO 3 J = 1, M
3 F(I, J) = SIN(X1(I) + X2(J))
CALL QTSXR (RINT, X1, X2, F, N, M)
Результаты:
RINT(1, 1) = 0.00000
RINT(2, 2) = 0.00001
RINT(N-1, M) = 0.24858
RINT(N, M) = 0.21648