Текст подпрограммы и версий ( Фортран ) qsmkr.zip |
Тексты тестовых примеров ( Фортран ) tqsmkr.zip |
Текст подпрограммы и версий ( Си ) qsmkr_c.zip |
Тексты тестовых примеров ( Си ) tqsmkr_c.zip |
Текст подпрограммы и версий ( Паскаль ) qsmkr_p.zip |
Тексты тестовых примеров ( Паскаль ) tqsmkr_p.zip |
Вычисление определенного N - кратного (1 ≤ N ≤ 20) интеграла по прямоугольному параллелепипеду методом Монте - Карло с заданной точностью.
Подпрограмма QSMKR позволяет вычислить N - кратный интеграл по N - мерному прямоугольному параллелепипеду ∏: Ai ≤ Xi ≤ Bi, i = 1, 2, ..., N , с погрешностью
Е ( 1 + | ∫ f (x) dx | ) , ∏
где величина E задается пользователем. Использован метод Монте - Карло [1]. Погрешность вычислений оценивается с вероятностью 0.997.
1. Н.С.Бахвалов. Численные методы, "Hаука", M., 1975.
SUBROUTINE QSMKR (RINT, N, A, B, F, E)
Параметры
RINT - | вычисленное значение интеграла (тип: вещественный); |
N - | кратность интеграла (тип: целый); |
A - | вещественный вектоp длины N, в котоpом задаются нижние пределы интегрирования; |
B - | вещественный вектоp длины N, в котоpом задаются верхние пределы интегрирования; |
F - | имя вещественной подпрограммы - функции вычисления подинтегральной функции; |
E - | заданная точность вычисления интеграла (тип: вещественный). |
Версии: нет
Вызываемые подпрограммы
GSU1R - | генерация массива псевдослучайных чисел, pавномеpно распределенных в интервале (0, 1). |
Замечания по использованию
Порядок оценки скорости сходимости метода Монте - Карло есть о (1/k), где k - число точек, в которых вычисляется подинтегральная функция. Kонстанта, входящая в эту оценку, сильно pастет с увеличением кратности интеграла. Поэтому не рекомендуется задавать высокую точность вычислений, т.к. это требует больших затрат машинного времени. |
EXTERNAL F DIMENSION A(3), B(3) N = 3 A(1) = -1. B(1) = 2. A(2) = -1. B(2) = 2. A(3) = -1. B(3) = 2. E = 0.54 CALL QSMKR (RINT, N, A, B, F, E) FUNCTION F(X) DIMENSION X(3) F = X(1)*X(2)*X(3) RETURN END Результат: RINT = 3.6834712721