|
Текст подпрограммы и версий ( Фортран ) 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