Текст подпрограммы и версий ( Фортран )
qse1r.zip 
Тексты тестовых примеров ( Фортран )
tqse1r.zip 
Текст подпрограммы и версий ( Си )
qse1r_c.zip 
Тексты тестовых примеров ( Си )
tqse1r_c.zip 
Текст подпрограммы и версий ( Паскаль )
qse1r_p.zip 
Тексты тестовых примеров ( Паскаль )
tqse1r_p.zip 

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

Назначение

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

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

Подпрограмма QSE1R вычисляет интеграл

           a
           ∫ f(x) eiwx dx  =  J1M + i J2M ,     i = √-1
          b 

на равномерной сетке с помощью квадратурной формулы интерполяционного типа, точной для многочленов четвертой степени с весом  e iwx .
M - число узлов интегрирования.

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

    SUBROUTINE  QSE1R (RINT, A, B, F, R, E, N, IERR) 

Параметры

RINT - вещественный вектоp длины 2 для вычисленных значений J1 (M) и J2 (M);
A, B - заданные нижний и верхний пределы интегрирования (тип: вещественный);
F - имя вещественной подпрограммы - функции, вычисляющей подинтегральную функцию f (x);
R - заданное значение параметра  w (тип: вещественный);
E - заданная абсолютная погрешность вычисления интеграла (тип: вещественный);
N - целая переменная, задающая начальное число узлов интегрирования;
IERR - целая переменная для диагностических сообщений:
IERR = 65 - когда заданная точность не может быть достигнута при максимально возможном числе узлов (M = 1048576).

Версии: нет

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

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

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

  1. 

При E ≤ 0 происходит только один просчет при заданном значении N.

  2. 

Максимальное значение N, котоpое можно задавать, не должно превосходить 524288.

  3. 

Если интеграл вычислен с точностью E, то IERR полагается равным нулю.

  4. 

Если интеграл не может быть вычислен с точностью E, то выдается диагностическое сообщение "заданная точность не может быть достигнута".

  5.  Если IERR = 65, то N полагается равным  -1.

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

1.   REAL FUNCTION  F1(X)       2.   REAL FUNCTION  F2(X)
      REAL  X                                         REAL  X
      F1 = X**4                                       F2 = SIN(X/112.)
      RETURN                                         RETURN
      END                                                 END

      EXTERNAL  F1, F2
      DIMENSION  RINT(2)
      REAL  RINT, F1, F2
      INTEGER  IERR
      A = -1.
      B = 1.
      R = -112.
      E = 0.0000001
      N = 10
      CALL  QSE1R (RINT, A, B, F1, R, E, N, IERR)
      CALL  QSE1R (RINT, -1., 1., F2, -112., .0000001, 10, IERR)

Результаты:

    1.   RINT(1)  =  -0.0155869200 ;
          RINT(2)  =   0 ;
               IERR  =   0
      
    2.   RINT(1)  =   0. ;
          RINT(2)  =   0.0000739651 ;
               IERR  =   0