Текст подпрограммы и версий ( Фортран )
pa08r.zip  pa08d.zip 
Тексты тестовых примеров ( Фортран )
tpa08r.zip  tpa08d.zip 
Текст подпрограммы и версий ( Си )
pa08r_c.zip  pa08d_c.zip 
Тексты тестовых примеров ( Си )
tpa08r_c.zip  tpa08d_c.zip 
Текст подпрограммы и версий ( Паскаль )
pa08r_p.zip  pa08e_p.zip 
Тексты тестовых примеров ( Паскаль )
tpa08r_p.zip  tpa08e_p.zip 

Подпрограмма:  PA08R

Назначение

Определение узлов упорядоченной по возрастанию или по убыванию неравномерной сетки, между которыми лежит заданная точка, с использованием информации о ее предположительном местоположении.

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

Пусть заданы узлы сетки  x1, x2,..., xN, упорядоченные либо по возрастанию, либо по убыванию. Подпрограмма PA08R по заданной точке  X вычисляет методом бисекции значение индекса  J, при котором точка  X лежит между узлами  xJ и  xJ + 1 , с использованием значения индекса  JL, определяющим ее предположительное местоположение.

Если  J = 0, то это означает, что точка  X лежит левее узла  x1. Если  J = N, то это означает, что точка  X лежит правее узла  xN.

Использование

    SUBROUTINE  PA08R (XX, N, X, JL, J) 

Параметры

XX - вещественный вектор длины  N, содержащий узлы заданной сетки  x1, x2,..., xN упорядоченной либо по возрастанию, либо по убыванию;
N - количество узлов сетки (тип: целый);
X - заданная точка, местоположение которой ищется по отношению к узлам сетки (тип: вещественный);
JL - значение индекса, определяющего предположительное положение точки  X по отношению к узлам сетки (тип: целый);
J - целая переменная, значение которой полагается равной индексу, при котором точка  X лежит между узлами XX (J) и XX (J + 1) .

Версии

PA08D - определение узлов упорядоченной по возрастанию или убыванию неравномерной сетки, между которыми лежит заданная точка, с использованием информации о ее предположительном местоположении в режиме удвоенной точности. При этом параметры XX и X должны иметь тип DOUBLE PRECISION.

Вызываемые подпрограммы: нет

Замечания по использованию: нет

Пример использования

      DIMENSION  XX(20) 
      N = 20 
      R = 0.0 
      DO 1  I = 1, N 
      XX(I) = R
   1 R = R + 0.2 
      X = 1.7 
      JL = 15 
      CALL  PA08R (XX, N, X, JL, J) 

Результат:    J  =  9