Текст подпрограммы и версий ( Фортран )
qsj2r.zip 
Тексты тестовых примеров ( Фортран )
tqsj2r.zip 
Текст подпрограммы и версий ( Си )
qsj2r_c.zip 
Тексты тестовых примеров ( Си )
tqsj2r_c.zip 
Текст подпрограммы и версий ( Паскаль )
qsj2r_p.zip 
Тексты тестовых примеров ( Паскаль )
tqsj2r_p.zip 

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

Назначение

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

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

 Подпрограмма QSJ2R вычисляет определенный интеграл
            B
           ∫  ( 1 - x )α ( 1 + x ) β  f (x) dx 
         A 

с заданной абсолютной погрешностью по квадратурной формуле Гаусса - Якоби.

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

    SUBROUTINE  QSJ2R (RINT, A, B, ALF, BTA, F, N, EPS, IERR) 

Параметры

RINT - вещественная переменная, содержащая вычисленное значение интеграла;
A, B - заданные нижний и верхний пределы интегрирования, соответственно (тип: вещественный);
ALF,BTA - заданные параметры  α и  β соответственно, в весовом множителе (1 - x)α (1 + x) β (тип: вещественный);
F - имя вещественной подпрограммы - функции, вычисляющей подинтегральную функцию  f (x);
N - целая переменная, задающая число узлов интегрирования (2 ≤ N ≤ 512);
EPS - заданная абсолютная погрешность вычисления интеграла (тип: вещественный);
IERR - целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом:
IERR=0 - когда заданная точность EPS достигнута,  N при этом полагается равным числу узлов интегрирования, при котором достигнута заданная точность и вычислено значение интеграла;
IERR=1 - когда заданная точность не может быть достигнута при максимально возможном числе узлов интегрирования (N ≤ 512).

Версии: нет

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

QSJAC - подпрограмма, вычисляющая узлы и веса квадратурной формулы Гаусса - Якоби.
UTQSJ2 - подпрограмма выдачи диагностических сообщений.

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

 

Перед началом работы подпрограммы число узлов интегрирования  N должно быть задано как целое из интервала 2 ≤ N ≤ 256.

  Если интеграл не может быть вычислен с заданной абсолютной погрешностью EPS, выдается диагностическое сообщение:
Подпрограмма QSJ2R: заданная точность не может быть достигнута.

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

       DIMENSION  X(512), W(512) 
       EXTERNAL  F
       ALF = 1.0
       BTA = 1.0
       A = - 1.0
       B = 1.0
       EPS = 1.E - 5
       N = 2
       CALL  QSJ2R (RINT, A, B, ALF, BTA, F, N, EPS, IERR)

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

Результаты:

       RINT  = 0.0000000000
       N        =  8
       IERR   =  0