|
Текст подпрограммы и версий ( Фортран ) qsk2r.zip qsk2d.zip |
Тексты тестовых примеров ( Фортран ) tqsk2r.zip tqsk2d.zip |
|
Текст подпрограммы и версий ( Си ) qsk2r_c.zip qsk2d_c.zip |
Тексты тестовых примеров ( Си ) tqsk2r_c.zip tqsk2d_c.zip |
|
Текст подпрограммы и версий ( Паскаль ) qsk2r_p.zip qsk2e_p.zip |
Тексты тестовых примеров ( Паскаль ) tqsk2r_p.zip tqsk2e_p.zip |
Вычисление определенного интеграла по обобщенной квадратурной формуле Ньютона - Котеса, точной для многочленов девятой степени.
Подпрограмма QSK2R вычисляет интеграл
B
∫ f (x) dx
A
по обобщенной формуле Ньютона - Котеса с автоматическим выбором шага.
G.E.Forsythe, M.A.Malkolm, C.B.Moler. Computer Methods for Mathematical Computations. 1977 by Prentice - hall, INC.
SUBROUTINE QSK2R (FUN, A, B, ABSERR, RELERR, RESULT,
ERREST, NOFUN, FLAG)
Параметры
| FUN - | имя вещественной подпрограммы - функции, вычисляющей подинтегральную функцию f (x); |
| A, B - | заданные нижний и верхний пределы интегрирования (тип: вещественный); |
| ABSERR - | заданная абсолютная погрешность вычисления интеграла (тип: вещественный); |
| RELERR - | заданная относительная погрешность вычисления интеграла (тип: вещественный); |
| RESULT - | вещественная переменная, содержащая вычисленное значение интеграла; |
| ERREST - | вещественная переменная, содержащая оценку погрешности вычисленного значения интеграла; |
| NOFUN - | целая переменная, содержащая число вычисленных значений подинтегральной функции, потребовавшихся для получения результата; |
| FLAG - |
вещественная переменная, служащая для
хаpактеристики надежности вычисленного результата;
при этом: если FLAG = 0., то полученный результат с большой вероятностью удовлетворяет заданной погрешности; если FLAG = XXX.YYY, то XXX - число интервалов, на которых не удалось достигнуть заданной точности, а 0.YYY = (B - X0)/(B - A), где X0 - граница отрезка [A, X0], на котоpом был израсходован лимит обращений к подпрограмме - функции. |
Версии
| QSK2D - | вычисление определенного интеграла по обобщенной формуле Ньютона - Котеса, точной для многочленов девятой степени от функции, заданной с удвоенной точностью. |
Вызываемые подпрограммы: нет
Замечания по использованию
| B подпрограмме QSK2D параметры FUN, A, B, ABSERR, RELERR, RESULT, ERREST, FLAG имеют тип DOUBLE PRECISION. |
REAL FUNCTION FUN(X)
REAL X
IF (X .EQ. 0.0) FUN = 1.0
IF (X .NE. 0.0) FUN = SIN(X)/X
RETURN
END
A = 0.0
B = 2.0
RELERR = 1.0E-10
ABSERR = 0.0
CALL QSK2R (FUN, A, B, ABSERR, RELERR, RESULT,
* ERREST, NOFUN, FLAG)
Результаты:
RESULT = 1.6054
ERREST = 0.
NOFUN = 33
FLAG = 0.