Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://num-anal.srcc.msu.su/lib_na/cat/av_htm_c/avz7r_c.htm
Дата изменения: Fri Dec 4 13:41:59 2015 Дата индексирования: Sun Apr 10 01:34:56 2016 Кодировка: Windows-1251 |
Текст подпрограммы и версий avz7r_c.zip avz7d_c.zip avz7c_c.zip |
Тексты тестовых примеров tavz7r_c.zip tavz7d_c.zip tavz7c_c.zip |
Нахождение индекса максимальной по абсолютной величине компоненты вещественного вектора.
Если несколько компонeнт вектора имеют максимальное абсолютное значение, то из их индексов выбирается минимальный.
Вектор не обязательно должен занимать последовательные слова
(ячейки) памяти машины и может располагаться в памяти с
некоторыми интервалами (постоянными для данного вектора),
которые называются параметрами приращения.
Параметр приращения может быть меньше нуля, если обработка
компонент вектора должна производиться в обратном порядке.
integer avz7r_c (integer *n, real *sx, integer *incx, integer *ierr)
Параметры
n - | размерность вектора (тип: целый); |
sx - | вещественный одномерный массив длины n * | incx |, содержащий данный вектор; |
incx - | параметр приращения, задающий расположение вектора в массиве (тип: целый); |
ierr - | целая переменная, указывающая характер ошибки; при этом: |
ierr=65 - | когда n ≤ 0 . |
Версии
avz7d_c - | нахождение индекса максимальной компоненты вещественного вектора, заданного с удвоенной точностью; |
avz7c_c - | нахождение индекса максимальной компоненты комплексного вектора. |
Вызываемые подпрограммы
utav10_c - | подпрограмма выдачи диагностических сообщений при работе подпрограмм avz7r_c и avz7c_c. |
utav11_c - | подпрограмма выдачи диагностических сообщений при работе подпрограммы avz7d_c. |
Замечания по использованию
В функции avz7d_c одномерный массив, содержащий вектор, обозначен dx и имеет тип double. В функции avz7c_c одномерный массив, содержащий вектор, обозначен cx и имеет тип complex. Подпрограммы - функции avz7r_c и avz7d_c определяют наименьший индекс i такой, что | xi | = max [ | xj | : j = 1, 2, ... , n ] Подпрограмма - функция avz7c_c определяет наименьший индекс i такой, что | xi | = max [ | re(xj )| + | im(xj )| : j = 1, 2, ..., n ] |
int main(void) { /* Initialized data */ static float sx[11] = { 1.f,0.f,3.f,0.f,4.f,0.f,2.f,0.f,4.f,0.f,3.f }; /* Local variables */ static int incx, ierr; extern int avz7r_c(int *, float *, int *, int *); static int n, iz; n = 6; incx = 2; ierr = 0; iz = avz7r_c(&n, sx, &incx, &ierr); printf("\n %5i \n", iz); printf("\n %5i \n", ierr); return 0; } /* main */ Результаты: iz = 3. , ierr = 0