Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://num-anal.srcc.msu.su/lib_na/cat/av_htm_p/avz7r_p.htm
Дата изменения: Fri Dec 4 13:42:57 2015 Дата индексирования: Sun Apr 10 02:32:41 2016 Кодировка: Windows-1251 |
Текст подпрограммы и версий avz7r_p.zip avz7e_p.zip avz7c_p.zip |
Тексты тестовых примеров tavz7r_p.zip tavz7e_p.zip tavz7c_p.zip |
Нахождение индекса максимальной по абсолютной величине компоненты вещественного вектора.
Если несколько компонент вектора имеют максимальное абсолютное значение, то из их индексов выбирается минимальный.
Вектор не обязательно должен занимать последовательные слова
(ячейки) памяти машины и может располагаться в памяти с
некоторыми интервалами (постоянными для данного вектора),
которые называются параметрами приращения.
Параметр приращения может быть меньше нуля, если обработка
компонент вектора должна производиться в обратном порядке.
function AVZ7R(N :Integer; var SX :Array of Real; INCX :Integer; var IERR :Integer): Integer;
Параметры
N - | размерность вектора (тип: целый); |
SX - | вещественный одномерный массив длины N * | INСХ |, содержащий данный вектор; |
INCX - | параметр приращения, задающий расположение вектора в массиве (тип: целый); |
IERR - | целая переменная, указывающая характер ошибки; при этом: |
IЕRR=65 - | когда N ≤ 0 . |
Версии
AVZ7E - | нахождение индекса максимальной компоненты вещественного вектора, заданного с расширенной (Extended) точностью; |
AVZ7C - | нахождение индекса максимальной компоненты комплексного вектора. |
Вызываемые подпрограммы
UTAV10 - | подпрограмма выдачи диагностических сообщений при работе подпрограмм АVZ7R и АVZ7С. |
UTAV11 - | подпрограмма выдачи диагностических сообщений при работе подпрограммы АVZ7E. |
Замечания по использованию
В функции АVZ7E одномерный массив, содержащий вектор, обозначен DХ и имеет тип Extended. В функции АVZ7С одномерный массив, содержащий вектор, обозначен CX и имеет тип Complex. Подпрограммы - функции АVZ7R и АVZ7E определяют наименьший индекс i такой, что | xi | = max [ | xj | : j = 1, 2, ... , N ] Подпрограмма - функция АVZ7С определяет наименьший индекс i такой, что | xi | = max [ | Re(xj )| + | Im(xj )| : j = 1, 2, ..., N ] |
Unit TAVZ7R_p; interface uses SysUtils, Math, { Delphi } LStruct, Lfunc, UtRes_p, AVZ7R_p; function TAVZ7R: String; implementation function TAVZ7R: String; var N,INCX,IERR,IZ :Integer; const SX :Array [0..10] of Real = ( 1.0,0.0,3.0,0.0,4.0,0.0,2.0,0.0,4.0,0.0,3.0 ); begin Result := ''; N := 6; INСХ := 2; IERR := 0; IZ := AVZ7R(N,SX,INCX,IERR); Result := Result + Format('%s',[' PEЗYЛЬTAT=']); Result := Result + Format('%3d',[IZ]) + #$0D#$0A; Result := Result + Format('%s',[' IERR=']); Result := Result + Format('%3d',[IERR]) + #$0D#$0A; UtRes('TAVZ7R',Result); { вывод результатов в файл TAVZ7R.res } exit; end; end. Результаты: IZ = 3. , IERR = 0