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

Назначение

Вычисление значения непрерывной дроби.

Математическое описание

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