Текст подпрограммы и версий ( Фортран ) rcr2r.zip , rcr2d.zip |
Тексты тестовых примеров ( Фортран ) trcr2r.zip , trcr2d.zip |
Текст подпрограммы и версий ( Си ) rcr2r_c.zip , rcr2d_c.zip |
Тексты тестовых примеров ( Си ) trcr2r_c.zip , trcr2d_c.zip |
Текст подпрограммы и версий ( Паскаль ) rcr2r_p.zip , rcr2e_p.zip |
Тексты тестовых примеров ( Паскаль ) trcr2r_p.zip , trcr2e_p.zip |
Суммирование рядов при помощи преобразования Эйлера.
Подпрограмма RCR2R находит сумму ряда по I от нуля до бесконечности, I - й член которого вычисляется задаваемой пользователем подпрограммой - функцией FTERM (I). Суммирование ряда осуществляется до тех пор, пока NTERM раз подряд абсолютные значения членов ряда не будут меньше заданного числа EPS.
Подпрограмма RCR2R, использующая метод Эйлера для преобразования рядов, может быть использована для суммирования медленно сходящихся или расходящихся рядов.
SUBROUTINE RCR2R (SUM, FTERM, NTERM, EPS)
Параметры
SUM - | вещественная переменная, значение которой полагается равным вычисленной сумме ряда; |
FTERM - |
имя вещественной подпрограммы - функции вычисления
I - ого члена ряда; ее заголовок имеет вид:
REAL FUNCTION FTERM (I), где I - номер вычисляемого члена ряда; |
NTERM - | количество требуемых подряд идущих членов ряда, таких, что каждый из них по абсолютной величине меньше EPS (тип: целый); |
EPS - | заданное число, определяющее критерий останова при суммировании ряда. |
Версии
RCR2D - | суммирование рядов при помощи преобразования Эйлера в режиме удвоенной точности; при этом параметры SUM и EPS должны иметь тип DOUBLE PRECISION, а подпрограмма - функция FTERM должна быть описана как DOUBLE PRECISION FUNCTION. |
Вызываемые подпрограммы: нет
Замечания по использованию: нет
EXTERNAL FTERM NTERM=4 EPS=0.00001 CALL RCR2R (SUM, FTERM, NTERM, EPS) REAL FUNCTION FTERM(I) FTERM=0.5**I RETURN END Результат: SUM = 1.999999