|
Текст подпрограммы и версий ( Фортран ) qsj2r.zip |
Тексты тестовых примеров ( Фортран ) tqsj2r.zip |
|
Текст подпрограммы и версий ( Си ) qsj2r_c.zip |
Тексты тестовых примеров ( Си ) tqsj2r_c.zip |
|
Текст подпрограммы и версий ( Паскаль ) qsj2r_p.zip |
Тексты тестовых примеров ( Паскаль ) tqsj2r_p.zip |
Вычисление определенного интеграла по формуле Гаусса - Якоби с гарантированной точностью.
Подпрограмма 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