|
Текст подпрограммы и версий ( Фортран ) 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