Текст подпрограммы и версий ( Фортран ) qsl3r.zip qsl3d.zip |
Тексты тестовых примеров ( Фортран ) tqsl3r.zip tqsl3d.zip |
Текст подпрограммы и версий ( Си ) qsl3r_c.zip qsl3d_c.zip |
Тексты тестовых примеров ( Си ) tqsl3r_c.zip tqsl3d_c.zip |
Текст подпрограммы и версий ( Паскаль ) qsl3r_p.zip qsl3e_p.zip |
Тексты тестовых примеров ( Паскаль ) tqsl3r_p.zip tqsl3e_p.zip |
Вычисление определенного интеграла по формулам Лобатто 11 - ой степени с гарантированной точностью.
QSL3R вычисляет определенный интеграл B ∫ f (x) dx A с погрешностью B E ( 1 + | ∫ f (x) dx | ) , A
где E задается пользователем, по формулам Лобатто, точным для полиномов 11 - ой степени, с автоматическим выбором шага.
О.В.Брушлинская, Л.Г.Васильева. Набор стандартных программ приближенного вычисления однократных интегралов с автоматическим выбором шага. Сб. "Численный анализ на ФОРТРАНе", вып. 8, Изд-во МГУ, 1974 .
SUBROUTINE QSL3R (RINT, A, B, F, E, XA)
Параметры
RINT - | вещественная переменная, содержащая вычисленное значение интеграла; |
A, B - | заданные нижний и верхний пределы интегрирования (тип: вещественный); |
F - | имя вещественной подпрограммы - функции, вычисляющей поинтегральную функцию f (x); |
E - | заданная точность вычисления интеграла (тип: вещественный); |
XA - | вещественная переменная, значение которой на выходе из подпрограммы pавно либо B, если заданная точность достигнута, либо значению точки "особенности" подинтегральной функции. |
Версии: нет
Вызываемые подпрограммы
UTQS11 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы QSL3R. |
Замечания по использованию
Могут встречатся случаи, когда подинтегральная функция имеет особенность, в окрестности которой шаг интегрирования становится недопустимо малым. Тогда значение XA полагается равным координате такой "особенности", подпрограмма UTQS11 выдает диагностическое сообщение: "заданная точность не может быть достигнута" и печатает значение XA; значение RINT приближенно pавно значению интегралаXA ∫ f (x) dx . A |
FUNCTION F(X) IF (X - 0.5) 2, 1, 4 2 F = 1./SQRT(0.5 - X) GO TO 3 1 F = 0. GO TO 3 4 F = 1./SQRT(X - 0.5) 3 RETURN END EXTERNAL F A = 0. B = 1. E = 0.0000000000001 CALL QSL3R (RINT, A, B, F, E, XA) Результаты: Заданная точность не может быть достигнута RINT = 1.414213499 ; XA = 0.49999994703