Текст подпрограммы и версий ( Фортран )
qsl4r.zip  qsl4d.zip 
Тексты тестовых примеров ( Фортран )
tqsl4r.zip  tqsl4d.zip 
Текст подпрограммы и версий ( Си )
qsl4r_c.zip  qsl4d_c.zip 
Тексты тестовых примеров ( Си )
tqsl4r_c.zip  tqsl4d_c.zip 
Текст подпрограммы и версий ( Паскаль )
qsl4r_p.zip  qsl4e_p.zip 
Тексты тестовых примеров ( Паскаль )
tqsl4r_p.zip  tqsl4e_p.zip 

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

Назначение

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

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

QSL4R вычисляет определенный  интеграл
            B
           ∫ f (x) dx 
          A
 для  A и B таких, что | B - A | ≥ 10   с погрешностью
               B
E ( 1 + |  ∫  f (x) dx | ) ,  где E задается пользователем.
             A 

Если нижний (верхний) предел интегрирования pавен бесконечности, то его следует задавать близким к минимальному (максимальному) числу, представимому в машине.

Метод вычисления интеграла по большому отрезку состоит в том, что интеграл последовательно вычисляется по частичным отрезкам, таким, что длина каждого следующего в 2 раза больше предыдущего. Счет интегралов прекращается, если значение интеграла на очередном частичном отрезке становится достаточно малым.

Hа каждом частичном отрезке интеграл вычисляется с автоматическим выбором шага по формулам Лобатто, точным для полиномов 11 - ой степени. За приближенное значение интеграла принимается сумма вычисленных интегралов по всем частичным отрезкам.

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

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

    SUBROUTINE  QSL4R (RINT, A, B, F, E, XA) 

Параметры

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

Версии

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

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

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

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

 

Могут встретиться случаи, когда подинтегральная функция имеет особенность, в окрестности которой шаг интегрирования становится недопустимо малым. Тогда значение XA полагается равным координате такой "особенности", значение RINT не определено, а подпрограммы UTQS11, UTQS13 выдают диагностическое сообщение "заданная точность не может быть достигнута" и печатают значение XA.

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

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

      FUNCTION  F(X)
      IF (X) 1, 1, 2
   1 F = 0.
      GO TO 3
   2 F = 1./SQRT(X)
   3 RETURN
      END

      EXTERNAL  F
      A = 0.
      B = 10.
      E = 0.000001
      CALL  QSL4R (RINT, A, B, F, E, XA)

Результаты:

      RINT  =  6.3245546702
      XA    =  10.