Текст подпрограммы и версий ( Фортран ) qst1r.zip |
Тексты тестовых примеров ( Фортран ) tqst1r.zip |
Текст подпрограммы и версий ( Си ) qst1r_c.zip |
Тексты тестовых примеров ( Си ) tqst1r_c.zip |
Текст подпрограммы и версий ( Паскаль ) qst1r_p.zip |
Тексты тестовых примеров ( Паскаль ) tqst1r_p.zip |
Вычисление определенного интеграла по обобщенной квадратурной формуле трапеции.
Подпрограмма QST1R вычисляет интеграл B ∫ f (x) dx A
с заданной абсолютной погрешностью E обобщенной квадратурной формуле трапеции с шагом h = (B - A)/K, где K - число частичных отрезков разбиения.
Л.Г.Васильева. Набор стандартных программ численного интегрирования с фиксированным распределением узлов. Сб. "Численный анализ на ФОРТРАНе", вып.8, Изд - во МГУ, 1974.
SUBROUTINE QST1R (RINT, A, B, F, E, K, IERR)
Параметры
RINT - | вещественная переменная, содержащая вычисленное значение интеграла; |
A, B - | заданные нижний и верхний пределы интегрирования (тип: вещественный); |
F - | имя вещественной подпрограммы - функции, вычисляющей подинтегральную функцию f (x); |
E - | заданная абсолютная погрешность вычисления интеграла (тип: вещественный); |
K - | целая переменная, задающая число частичных отрезков разбиения; |
IERR - | целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом: |
IERR=65 - | когда заданная точность не может быть достигнута при максимально возможном числе частичных отрезков разбиения; значение K полагается равным 1048576. |
Версии: нет
Вызываемые подпрограммы
UTQS10 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы QST1R. |
Замечания по использованию
Проводятся два последовательных просчета интеграла по всему отрезку интегрирования по K и 2 K частичным отрезкам. Если абсолютная величина разности этих двух последовательных просчетов не превосходит E, то счет заканчивается и за значение интеграла принимается результат последнего просчета. B противном случае, значение K удваивается и процесс повторяется. При E ≤ 0 происходит только один просчет при заданном значении K. Максимальное значение K, котоpое можно задавать, не должно превосходить 524288. Если заданная точность не может быть достигнута, то K полагается равным 1048576. При выходе из подпрограммы значение K полагается равным числу частичных отрезков разбиения, при котоpом проводился последний просчет интеграла. |
REAL FUNCTION F(X) REAL X F = 1./(1. + COS(X)) RETURN END EXTERNAL F INTEGER K REAL F, RINT, A, B, E A = - 1.570796326795 B = 1.570796326795 E = 0.0000001 K = 1 CALL QST1R (RINT, A, B, F, E, K, IERR) Результаты: RINT = 2.000 000 0227 K = 8192 IERR = 0