Текст подпрограммы и версий ( Фортран )
qsf2r.zip  qsf2d.zip 
Тексты тестовых примеров ( Фортран )
tqsf2r.zip  tqsf2d.zip 
Текст подпрограммы и версий ( Си )
qsf2r_c.zip  qsf2d_c.zip 
Тексты тестовых примеров ( Си )
tqsf2r_c.zip  tqsf2d_c.zip 
Текст подпрограммы и версий ( Паскаль )
qsf2r_p.zip  qsf2e_p.zip 
Тексты тестовых примеров ( Паскаль )
tqsf2r_p.zip  tqsf2e_p.zip 

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

Назначение

Вычисление интегралов

                  B
(1)             ∫  f (x) sin( ρ x + φ ) dx ,
                A
                  B
(2)             ∫  f (x) cos( ρ x + φ ) dx
                A 

по формулам интерполяционного типа 5 - ой степени точности с автоматическим выбором шага.

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

QSF2R вычисляет интегралы (1), (2) или один из них с заданной абсолютной погрешностью E по формулам интерполяционного типа для осциллирующих функций с автоматическим выбором шага на конечных отрезках интегрирования.

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

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

    SUBROUTINE  QSF2R (RINT1, RINT2, A, B, F, RO, FI, E, L1, L2) 

Параметры

       RINT1 -
       RINT2  
вещественные переменные, содержащие значения интегралов (1) и (2) соответственно;
A, B - заданные нижний и верхний пределы интегрирования (тип: вещественный);
F - имя вещественной подпрограммы - функции вычисления подинтегральной функции f (x);
RO - заданное значение параметра  ρ (тип: вещественный);
FI - заданное значение параметра  φ (тип: вещественный);
E - заданная абсолютная погрешность вычисления интегралов (тип: вещественный);
L1, L2 - задают режим работы подпрограммы (тип: целый); при этом, если
 

L1 = 1 и L2 = 0, то вычисляется интеграл (1);

L1 = 0 и L2 = 1, то вычисляется интеграл (2);

L1 = 1 и L2 = 1, то вычисляются интегралы (1) и (2);

Версии

QSF2D - вычисление с удвоенной точностью интегралов (1) и (2) по формулам интерполяционного типа 5 - ой степени точности с автоматическим выбором шага.

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

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

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

 

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

В подпрограмме QSF2D параметры RINT1, RINT2, A, B, F, RO, FI, E имеют тип DOUBLE PRECISION.

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

      FUNCTION  F(X)
      REAL  X
      F = X**4
      RETURN
      END

      EXTERNAL  F
      REAL  RINT1, RINT2
      A = 0.
      B = 1.
      RO = 10.
      FI = 0.
      E = 0.0000001
      L1 = 1
      L2 = 1
      CALL  QSF2R (RINT1, RINT2, A, B, F, RO, FI, E, L1, L2)
      
Результаты:

      RINT1  =  0.05382478
      RINT2  =  -0.079553512