Текст подпрограммы и версий ( Фортран )
qsl2r.zip  qsl2d.zip 
Тексты тестовых примеров ( Фортран )
tqsl2r.zip  tqsl2d.zip 
Текст подпрограммы и версий ( Си )
qsl2r_c.zip  qsl2d_c.zip 
Тексты тестовых примеров ( Си )
tqsl2r_c.zip  tqsl2d_c.zip 
Текст подпрограммы и версий ( Паскаль )
qsl2r_p.zip  qsl2e_p.zip 
Тексты тестовых примеров ( Паскаль )
tqsl2r_p.zip  tqsl2e_p.zip 

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

Назначение

Вычисление определенного интеграла для больших отрезков интегрирования по формулам Лобатто.

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

QSL2R вычисляет определенный  интеграл
            B
           ∫ f (x) dx 
          A 

с заданной абсолютной погрешностью E для больших отрезков интегрирования. Оба предела интегрирования или один из них могут быть бесконечными. B этом случае соответствующий предел интегрирования должен полагаться равным максимальному положительному (отрицательному) числу, представимому на машине. Предполагается, что | (B - A) | ≥ 10.

Отрезок интегрирования разбивается на подотрезки Ti,  i = 1, 2, ..., n длины | T1 | = 2, | T2 | = 22,  ... , | Tn | = 2n, на каждом из которых интеграл считается с автоматическим выбором шага по формулам Лобатто по семи узлам (11 - й степени точности). Счет интеграла прекращается, если выполняются следующие условия

  0  ≤  | Ji+1 |2 * ( | Ji |  -  | Ji+1 | ) -1  < E     и
  0  ≤  | Ji+2 |2 * ( | Ji+1 |  -  | Ji+2 | ) -1  < E  , 

где  Ji, Ji + 1, Ji + 2 - значение интеграла на подотрезках  Тi, Ti + 1, Ti + 2.

О.В.Брушлинская, Л.Г.Васильева. Набор стандартных программ приближенного вычисления однократных интегралов c автоматическим выбором шага. Сб. "Численный анализ на ФОРТРАНе", вып. 8, Изд-во МГУ, 1974.

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

    SUBROUTINE  QSL2R (RINT, A, B, F, E) 

Параметры

RINT - вещественная переменная, содержащая вычисленное значение интеграла;
A, B - заданные нижний и верхний пределы интегрирования (тип: вещественный);
F - имя вещественной подпрограммы - функции вычисления подинтегральной функции  f (x);
E - заданная абсолютная погрешность вычисления интеграла (тип: вещественный).

Версии

QSL2D - вычисление с удвоенной точностью определенного интеграла для больших отрезков интегрирования по формулам Лобатто.

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

UTQS10 - подпрограмма выдачи диагностических сообщений при работе подпрограммы QSL2R.
UTQS12 - подпрограмма выдачи диагностических сообщений при работе подпрограммы QSL2D.

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

 

Подпрограмма не гарантирует вычисление с заданной погрешностью, хотя в большинстве случаев интеграл будет посчитан с требуемой точностью.

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

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

      FUNCTION  F(X)
      F = EXP(-X + 3)*SIN(X - 3)
      RETURN
      END

      EXTERNAL  F
      REAL  RINT 
      A = 3.
      B = 1.E18
      E = 0.001
      CALL  QSL2R (RINT, A, B, F, E)

Результат:   RINT  =  5.0000004388 E-01