Текст подпрограммы и версий ( Фортран )
qsr1r.zip  qsr1d.zip 
Тексты тестовых примеров ( Фортран )
tqsr1r.zip  tqsr1d.zip 
Текст подпрограммы и версий ( Си )
qsr1r_c.zip  qsr1d_c.zip 
Тексты тестовых примеров ( Си )
tqsr1r_c.zip  tqsr1d_c.zip 
Текст подпрограммы и версий ( Паскаль )
qsr1r_p.zip  qsr1e_p.zip 
Тексты тестовых примеров ( Паскаль )
tqsr1r_p.zip  tqsr1e_p.zip 

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

Назначение

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

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

 QSR1R вычисляет интеграл
            b
           ∫ f (x) dx 
          a 

по квадратурной формуле Pомберга с заданным числом узлов интегрирования.

Н.С.Бахвалов. "Численные методы", т.1, "Hаука", 1973.

Использование

    SUBROUTINE  QSR1R (RINT, A, B, F, K, IERR) 

Параметры

RINT - вещественная переменная, содержащая вычисленное значение интеграла;
A, B - заданные нижний и верхний пределы интегрирования (тип: вещественный);
F - имя вещественной подпрограммы - функции, вычисляющей подинтегральную функцию  f (x);
K - целая переменная, определяющая число узлов интегрирования N ( N = 2K + 1, 0 < K≤ 20 );
IERR - целая переменная, указывающая причину окончания вычислений: если интеграл сосчитан, то IERR = 0, в противном случае IERR = 65.

Версии

QSR1D - вычисление с удвоенной точностью определенного интеграла по квадратурной формуле Pомберга.

Вызываемые подпрограммы

UTQS11 - подпрограмма выдачи диагностических сообщений при работе подпрограммы QSR1R.
UTQS13 - подпрограмма выдачи диагностических сообщений при работе подпрограммы QSR1D.

Замечания по использованию

 

При K > 20 выдается диагностическое сообщение "заданное значение K выходит за пределы допустимых значений".

В подпрограмме QSR1D параметры RINT, A, B, F имеют тип DOUBLE PRECISION.

Пример использования

      REAL  FUNCTION  F(X)
      REAL  X
      F = 1./ (1. + EXP(X))
      RETURN
      END

      EXTERNAL  F
      INTEGER  K, IERR
      REAL A, B, F, RINT
      A = 0.
      B = 1.
      K = 10
      CALL  QSR1R (RINT, A, B, F, K, IERR)

Результаты:
 
      RINT  =  0.37988549298

      K = 10
      IERR = 0