Текст подпрограммы и версий ( Фортран ) pa06r.zip pa06d.zip |
Тексты тестовых примеров ( Фортран ) tpa06r.zip tpa06d.zip |
Текст подпрограммы и версий ( Си ) pa06r_c.zip pa06d_c.zip |
Тексты тестовых примеров ( Си ) tpa06r_c.zip tpa06d_c.zip |
Текст подпрограммы и версий ( Паскаль ) pa06r_p.zip pa06e_p.zip |
Тексты тестовых примеров ( Паскаль ) tpa06r_p.zip tpa06e_p.zip |
Вычисление значения непрерывной дроби.
PA06R вычисляет значение суммы N звеньев непрерывной дроби
fN = b0 + a1 / ( b1 + a2 / ( b2 + ... + aN / ( bN )...) ) .
FUNCTION PA06R (B0, A, B, N)
Параметры
B0 - | значение коэффициента b0 непрерывной дроби (тип: вещественный); |
A, B - | вещественные векторы длины N, компонентами которых являются коэффициенты ai и bi ( i = 1, ..., N) непрерывной дроби; |
N - | заданное число звеньев непрерывной дроби (тип: целый). |
Версии
PA06D - | вычисление значения непрерывной дроби в режиме удвоенной точности. При этом параметры B0, A, B должны иметь тип DOUBLE PRECISION. |
Вызываемые подпрограммы: нет
Замечания по использованию
В подпрограммах - функциях PA06R и PA06D имеется общий блок COMMON /PA06RR/ NREAL. Значение переменной NREAL полагается равной номеру звена непрерывной дроби, для которого fNREAL = fNREAL - 1 . |
Пусть требуется вычислить сумму 10 звеньев непрерывной дроби
arctg x = x / (1 + x2 / (3 + 4 x2 / (5 + 9 x2 / (7 + ... )...))) при x = 0.2 REAL A(10), B(10) X = 0.2 N = 10 B0 = 0 A(1) = X B(1) = 1 DO 1 I = 2, N A(I) = (I - 1)**2*X*X 1 B(I) = 2*I - 1 RES = PA06R (B0, A, B, N) Результаты: RES = 0.1973956 , NREAL = 6