Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://num-anal.srcc.msu.ru/lib_na/cat/pa_htm_p/pa07r_p.htm
Дата изменения: Mon Nov 16 14:41:04 2015 Дата индексирования: Sun Apr 10 03:18:27 2016 Кодировка: Windows-1251 |
Текст подпрограммы и версий pa07r_p.zip pa07e_p.zip |
Тексты тестовых примеров tpa07r_p.zip tpa07e_p.zip |
Определение узлов упорядоченной по возрастанию или по убыванию неравномерной сетки, между которыми лежит заданная точка.
Пусть заданы узлы сетки x1, x2,..., xN, упорядоченные либо по возрастанию, либо по убыванию. Подпрограмма PA07R по заданной точке X вычисляет методом бисекции значение индекса J, при котором точка X лежит между узлами xJ и xJ + 1 .
Если J = 0, то это означает, что точка X лежит левее узла x1 . Если J = N, то это означает, что точка X лежит правее узла xN .
procedure PA07R(var XX :Array of Real; N :Integer; X :Real; var J :Integer);
Параметры
XX - | вещественный вектор длины N, содержащий узлы заданной сетки x1, x2,..., xN, упорядоченной либо по возрастанию, либо по убыванию; |
N - | количество узлов сетки (тип: целый); |
X - | заданная точка, местоположение которой ищется по отношению к узлам сетки (тип: вещественный); |
J - | целая переменная, значение которой полагается равной индексу, при котором точка X лежит между узлами XX (J) и XX (J + 1). |
Версии
PA07E - | определение узлов упорядоченной по возрастанию или убыванию неравномерной сетки, между которыми лежит заданная точка. При этом параметры XX и X должны иметь тип Extended. |
Вызываемые подпрограммы: нет
Замечания по использованию: нет
Unit TPA07R_p; interface uses SysUtils, Math, { Delphi } LStruct, Lfunc, UtRes_p, PA07R_p; function TPA07R: String; implementation function TPA07R: String; var N,I,J :Integer; R,X :Real; ХХ :Array [0..19] of Real; label _1; begin Result := ''; N := 20; R := 0.0; for I:=1 to N do begin XX[I-1] := R; _1: R := R+0.2; end; X := 1.7; PA07R(XX,N,X,J); Result := Result + Format('%20.16f %20.16f %5d',[X,XX[J-1],J]) + #$0D#$0A; UtRes('TPA07R',Result); { вывод результатов в файл TPA07R.res } exit; end; end. Результат: J = 9