Текст подпрограммы и версий ( Фортран )
qst1r.zip 
Тексты тестовых примеров ( Фортран )
tqst1r.zip 
Текст подпрограммы и версий ( Си )
qst1r_c.zip 
Тексты тестовых примеров ( Си )
tqst1r_c.zip 
Текст подпрограммы и версий ( Паскаль )
qst1r_p.zip 
Тексты тестовых примеров ( Паскаль )
tqst1r_p.zip 

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

Назначение

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

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

 Подпрограмма  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