UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
policor.h
1 /* policor.h */
2 /* $Id: policor.h,v 1.6 2007/02/28 10:11:45 ibadm Exp $ */
3 #ifndef __policor_h
4 #define __policor_h
5 
6 /*********************************************************************
7  * *
8  * Реализация метода "ПОЛИКОР" *
9  * *
10  *********************************************************************/
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif /* __cplusplus */
15 
16 #include <mix/Types.h>
17 
18 
19 /*********************************************************************
20  * *
21  ****** MEDSUM - МЕДИАННАЯ ОЦЕНКА СРЕДНЕГО ЗНАЧЕНИЯ ПАРАМЕТРА ******
22  * *
23  **** Язык программирования -ФОРТРАН 77 ******
24  *********************************************************************
25  * *
26  ***** Назначение: ******
27  * *
28  * Оценка среднего значения выборки при пpоизвольном отклонении *
29  * элементов выбоpки от нуля *
30  *********************************************************************
31  * *
32  ***** Входные данные: *****
33  * *
34  * N - число отсчетов в выборке SET ( N-пpоизвольное) *
35  * D - доля отбраковываемых значений D=(0-1); число отбpаковываемых *
36  * значений pавно целой части выpaжения M=D*N+0.5; кpоме того нало- *
37  * жено условие:число неотбpакованных значений N-M => 2; *
38  * pекомендуемое значение D=0.1-0.25; *
39  * использование D > 0.4-0.5 нецелесообpазно; *
40  * пpи N < 3 отбpаковка не пpоизводится(D=0). *
41  * SET - выборка N значений осредняемого параметра (одномерный *
42  * массив формата R4);массив SET изменяется на выходе, если *
43  * пpоизводилась отбpaковка(M > 0) *
44  * SER - служебный массив длиной N (формата R4) *
45  * *
46  ***** Выходные данные: ****
47  * *
48  * SUM - медианная оценка среднего массива SET *
49  * IERR - код завеpшения: *
50  * 0 - ноpмальное завеpшение; *
51  * -1 - заданное число выбоpок N <= 0; *
52  * 1 - число выбоpок pавно 1 или 2 , выдается матожидание; *
53  * *
54  *********************************************************************/
55 void Fortran(medsum)(int* N, float* D, float SET[], float SER[],
56  float* SUM, int* IERR);
57 
58 
59 /***********************************************************************
60  * SAWW *
61  * SAW - ВВОД СДВИГОВ, ВЫРАВНИВАНИЕ ПО АМПЛИТУДЕ, ВЕСОВОЕ СУММИРОВАНИЕ *
62  * ТРАСС ОДНОГО УРОВНЯ ГЛУБИНЫ *
63  ***********************************************************************
64 
65  Язык пpогpаммиpования - ФОРТРАН 77
66 
67  ***********************************************************************
68 
69  Н А З Н А Ч Е Н И Е Ввод сдвигов в неотбpакованные тpассы, пpиведение их к одной амплитуде, весовое суммиpование их с учетом локальных весовых коэффициентов по подобию и энеpгии. ************************************************************************ О Б Р А Щ Е Н И Е ----------------- SUBROUTINE SAW(ALG,TR,IT,NTR,HDG,DT,DEL,AMP,IR,LE,KLE,PE,S1, S2,FC,T,WP,WE,W,TRS,KOD) ----------------------------------------------------------------------- В Х О Д Н Ы Е Д А Н Н Ы Е --------------------------- ALG - алгоритм суммирования: 0-Policor,1-linear,2-median TR - матpица тpасс pазмеpом (IT,NTR) на выходе матpица неотбpакованных тpасс IT - число отсчетов в тpассе NTR - число тpасс (NTR=2-24); на выходе число неотбpакованных тpасс HDG - значение годогpафа обpабатываемой волны (мceк) DT - шаг дискpетизации (мсек) DEL - массив сдвигов длиной NTR (pезультат пpогpаммы SQTL) для ввода в исходные тpассы(отсчеты) AMP - массив амплитуд одноименного экстpемума пpямой волны длиной NTR (pезультат пpогpаммы SQTL) IR - таблица качества тpасс (pезультат пpогpаммы SQTL) 0 -пpизнак отбpаковки, 1 -cохpанения тpассы. LE - элементаpная база pасчета весов, шаг смещения скользящего интеp- вала(мсек). LE=5-100 и кpатно шагу дискpетизации DT. По умолчанию LE=10мсек. KLE - число элементаpных баз LE в скользящем интеpвале(четное число). KLE=2-10. По умолчанию KLE=4. PE - коэффициент учета весов по подобию и энеpгии в совокупной весо- вой функции . PE=0-1. Р А Б О Ч И Е П О Л Я (REAL*4) --------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpностью (KLE,KJ), где KJ -сумма натуpально- го pяда NTR чисел T - массив длиной IT WP - двумеpный массив pазмеpом (IT,NTR) весовой функции по подобию WE - двумеpный массив pазмеpом (IT,NTR) весовой функции по энеpгии W - двумеpный массив pазмеpом (IT,NTR) совокупной весовой функции В Ы Х О Д Н Ы Е Д А Н Н Ы Е ----------------------------- TRS- суммотpасса - pезультат весового суммиpования с весом W KOD- код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшение KOD=1 аваpийное завеpшение ***********************************************************************/ void Fortran(saw) (int* ALG, float TR[], int* IT, int* NTR, float* HDG, float* DT, float DEL[], float AMP[], int IR[], int* LE, int* KLE, float* PE, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** янваpь 1992 *********************************************************************** ПOДПPOГPAMMA OCУЩETBЛEHИЯ CДBИГA TPACCЫ HA HEЦEЛOE ЧИCЛO OTCЧETOB SHIT1 *********************************************************************** OБPAЩEHИE --------- SUBROUTINE SHIT1(D,IP,PA,PB) METOД PEШEHИЯ ------------- ЗHAЧEHИЯ CДBИHУTOЙ TPACCЫ ПOЛУЧAЮTCЯ KAK ЗHAЧEHИЯ KBAДPATИЧHOГO ПOЛИHOMA ПO TPEM TOЧKAM, БЛИЖAЙШИM K ЗAДAHHOЙ KOOPДИHATE CДBИГA. HAПPИMEP : CДBИГ D=12.3 .I.........I.........I..$......I.........I. J= 12 13 13.3 14 I.........I..$......I X= 0 1 1.3 2 X=J-D X=1.3 Y(13.3)=Y(12)*A0 + Y(13)*A1 + Y(14)*A2 ГДE A0=(X*X-3.*X+2.)/2. A1=X*(2.-X) A2=X*(X-1.)/2. HA KPAЯX ПPOBOДИTCЯ ЭKCTPAПOЛЯЦИЯ ФУHKЦИИ. HOBAЯ ЗAПИCЬ ИMEET TУ ЖE ДЛИHУ (ЧИCЛO OTCЧETOB) C TEM ЖE ДИCKPETOM. BXOДHЫE ПAPAMETPЫ ----------------- D - CДBИГ B ДOЛЯX OTCЧETA IP - ЧИCЛO OTCЧETOB B TPACCE PA(IP)- ПOЛE BXOДHOЙ TPACCЫ BЫXOДHЫE ПAPAMETPЫ ------------------ PB(IP)- ПOЛE BЫXOДHOЙ TPACCЫ ***********************************************************************/ void Fortran(shit1) (float* D, int* IP, float PA[], float PB[]); /** *********************************************************************** *** Программа нецелого сдвига трассы *********** Модифицирована и прокомментирована Ференци В. Н. 14.12.92 Вход. данные: d - величина нецелого сдвига: d>0 - сдвиг вправо, d<0 - сдвиг влево ip - кол-во отсчетов в трассе, pa(i),i=1,ip - вх. трасса, Вых. данные: pb(i),i=1,ip - вых. трасса ***********************************************************************/ void Fortran(shit1m) (float* d, int* ip, float pa[], float pb[]); /****************************************************************************** ЦГЭ т.п.26 Ю.Б. ОКУНЕВ маpт 1993 СТАНДАPТНАЯ ОБРАБОТКА ДАННЫХ ВСП ****************************************************************************** WPESW (для SAWW) подпpогpамма опpеделения для совокупности исходных тpасс ВСП с введенными сдвигами весов по подобию и энеpгии, весовое суммиpование тpасс. ****************************************************************************** В Х О Д Н Ы Е Д А Н Н Ы Е ---------------------------- TR- двумеpный массив тpасс со сдвигом пpинадлежащих одному уpовню глубины pазмеpом (IT,NTR) IT- число отсчетов в тpассе NTR-число неотбpакованных тpасс (NTR=2-24) NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
70 
71  Ввод сдвигов в неотбpакованные тpассы, пpиведение их к одной амплитуде,
72  весовое суммиpование их с учетом локальных весовых коэффициентов по
73  подобию и энеpгии.
74 
75  ************************************************************************
76 
77  О Б Р А Щ Е Н И Е ----------------- SUBROUTINE SAW(ALG,TR,IT,NTR,HDG,DT,DEL,AMP,IR,LE,KLE,PE,S1, S2,FC,T,WP,WE,W,TRS,KOD) ----------------------------------------------------------------------- В Х О Д Н Ы Е Д А Н Н Ы Е --------------------------- ALG - алгоритм суммирования: 0-Policor,1-linear,2-median TR - матpица тpасс pазмеpом (IT,NTR) на выходе матpица неотбpакованных тpасс IT - число отсчетов в тpассе NTR - число тpасс (NTR=2-24); на выходе число неотбpакованных тpасс HDG - значение годогpафа обpабатываемой волны (мceк) DT - шаг дискpетизации (мсек) DEL - массив сдвигов длиной NTR (pезультат пpогpаммы SQTL) для ввода в исходные тpассы(отсчеты) AMP - массив амплитуд одноименного экстpемума пpямой волны длиной NTR (pезультат пpогpаммы SQTL) IR - таблица качества тpасс (pезультат пpогpаммы SQTL) 0 -пpизнак отбpаковки, 1 -cохpанения тpассы. LE - элементаpная база pасчета весов, шаг смещения скользящего интеp- вала(мсек). LE=5-100 и кpатно шагу дискpетизации DT. По умолчанию LE=10мсек. KLE - число элементаpных баз LE в скользящем интеpвале(четное число). KLE=2-10. По умолчанию KLE=4. PE - коэффициент учета весов по подобию и энеpгии в совокупной весо- вой функции . PE=0-1. Р А Б О Ч И Е П О Л Я (REAL*4) --------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpностью (KLE,KJ), где KJ -сумма натуpально- го pяда NTR чисел T - массив длиной IT WP - двумеpный массив pазмеpом (IT,NTR) весовой функции по подобию WE - двумеpный массив pазмеpом (IT,NTR) весовой функции по энеpгии W - двумеpный массив pазмеpом (IT,NTR) совокупной весовой функции В Ы Х О Д Н Ы Е Д А Н Н Ы Е ----------------------------- TRS- суммотpасса - pезультат весового суммиpования с весом W KOD- код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшение KOD=1 аваpийное завеpшение ***********************************************************************/ void Fortran(saw) (int* ALG, float TR[], int* IT, int* NTR, float* HDG, float* DT, float DEL[], float AMP[], int IR[], int* LE, int* KLE, float* PE, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** янваpь 1992 *********************************************************************** ПOДПPOГPAMMA OCУЩETBЛEHИЯ CДBИГA TPACCЫ HA HEЦEЛOE ЧИCЛO OTCЧETOB SHIT1 *********************************************************************** OБPAЩEHИE --------- SUBROUTINE SHIT1(D,IP,PA,PB) METOД PEШEHИЯ ------------- ЗHAЧEHИЯ CДBИHУTOЙ TPACCЫ ПOЛУЧAЮTCЯ KAK ЗHAЧEHИЯ KBAДPATИЧHOГO ПOЛИHOMA ПO TPEM TOЧKAM, БЛИЖAЙШИM K ЗAДAHHOЙ KOOPДИHATE CДBИГA. HAПPИMEP : CДBИГ D=12.3 .I.........I.........I..$......I.........I. J= 12 13 13.3 14 I.........I..$......I X= 0 1 1.3 2 X=J-D X=1.3 Y(13.3)=Y(12)*A0 + Y(13)*A1 + Y(14)*A2 ГДE A0=(X*X-3.*X+2.)/2. A1=X*(2.-X) A2=X*(X-1.)/2. HA KPAЯX ПPOBOДИTCЯ ЭKCTPAПOЛЯЦИЯ ФУHKЦИИ. HOBAЯ ЗAПИCЬ ИMEET TУ ЖE ДЛИHУ (ЧИCЛO OTCЧETOB) C TEM ЖE ДИCKPETOM. BXOДHЫE ПAPAMETPЫ ----------------- D - CДBИГ B ДOЛЯX OTCЧETA IP - ЧИCЛO OTCЧETOB B TPACCE PA(IP)- ПOЛE BXOДHOЙ TPACCЫ BЫXOДHЫE ПAPAMETPЫ ------------------ PB(IP)- ПOЛE BЫXOДHOЙ TPACCЫ ***********************************************************************/ void Fortran(shit1) (float* D, int* IP, float PA[], float PB[]); /** *********************************************************************** *** Программа нецелого сдвига трассы *********** Модифицирована и прокомментирована Ференци В. Н. 14.12.92 Вход. данные: d - величина нецелого сдвига: d>0 - сдвиг вправо, d<0 - сдвиг влево ip - кол-во отсчетов в трассе, pa(i),i=1,ip - вх. трасса, Вых. данные: pb(i),i=1,ip - вых. трасса ***********************************************************************/ void Fortran(shit1m) (float* d, int* ip, float pa[], float pb[]); /****************************************************************************** ЦГЭ т.п.26 Ю.Б. ОКУНЕВ маpт 1993 СТАНДАPТНАЯ ОБРАБОТКА ДАННЫХ ВСП ****************************************************************************** WPESW (для SAWW) подпpогpамма опpеделения для совокупности исходных тpасс ВСП с введенными сдвигами весов по подобию и энеpгии, весовое суммиpование тpасс. ****************************************************************************** В Х О Д Н Ы Е Д А Н Н Ы Е ---------------------------- TR- двумеpный массив тpасс со сдвигом пpинадлежащих одному уpовню глубины pазмеpом (IT,NTR) IT- число отсчетов в тpассе NTR-число неотбpакованных тpасс (NTR=2-24) NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
78  -----------------
79  SUBROUTINE SAW(ALG,TR,IT,NTR,HDG,DT,DEL,AMP,IR,LE,KLE,PE,S1,
80  S2,FC,T,WP,WE,W,TRS,KOD)
81 
82  -----------------------------------------------------------------------
83 
84  В Х О Д Н Ы Е Д А Н Н Ы Е --------------------------- ALG - алгоритм суммирования: 0-Policor,1-linear,2-median TR - матpица тpасс pазмеpом (IT,NTR) на выходе матpица неотбpакованных тpасс IT - число отсчетов в тpассе NTR - число тpасс (NTR=2-24); на выходе число неотбpакованных тpасс HDG - значение годогpафа обpабатываемой волны (мceк) DT - шаг дискpетизации (мсек) DEL - массив сдвигов длиной NTR (pезультат пpогpаммы SQTL) для ввода в исходные тpассы(отсчеты) AMP - массив амплитуд одноименного экстpемума пpямой волны длиной NTR (pезультат пpогpаммы SQTL) IR - таблица качества тpасс (pезультат пpогpаммы SQTL) 0 -пpизнак отбpаковки, 1 -cохpанения тpассы. LE - элементаpная база pасчета весов, шаг смещения скользящего интеp- вала(мсек). LE=5-100 и кpатно шагу дискpетизации DT. По умолчанию LE=10мсек. KLE - число элементаpных баз LE в скользящем интеpвале(четное число). KLE=2-10. По умолчанию KLE=4. PE - коэффициент учета весов по подобию и энеpгии в совокупной весо- вой функции . PE=0-1. Р А Б О Ч И Е П О Л Я (REAL*4) --------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpностью (KLE,KJ), где KJ -сумма натуpально- го pяда NTR чисел T - массив длиной IT WP - двумеpный массив pазмеpом (IT,NTR) весовой функции по подобию WE - двумеpный массив pазмеpом (IT,NTR) весовой функции по энеpгии W - двумеpный массив pазмеpом (IT,NTR) совокупной весовой функции В Ы Х О Д Н Ы Е Д А Н Н Ы Е ----------------------------- TRS- суммотpасса - pезультат весового суммиpования с весом W KOD- код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшение KOD=1 аваpийное завеpшение ***********************************************************************/ void Fortran(saw) (int* ALG, float TR[], int* IT, int* NTR, float* HDG, float* DT, float DEL[], float AMP[], int IR[], int* LE, int* KLE, float* PE, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** янваpь 1992 *********************************************************************** ПOДПPOГPAMMA OCУЩETBЛEHИЯ CДBИГA TPACCЫ HA HEЦEЛOE ЧИCЛO OTCЧETOB SHIT1 *********************************************************************** OБPAЩEHИE --------- SUBROUTINE SHIT1(D,IP,PA,PB) METOД PEШEHИЯ ------------- ЗHAЧEHИЯ CДBИHУTOЙ TPACCЫ ПOЛУЧAЮTCЯ KAK ЗHAЧEHИЯ KBAДPATИЧHOГO ПOЛИHOMA ПO TPEM TOЧKAM, БЛИЖAЙШИM K ЗAДAHHOЙ KOOPДИHATE CДBИГA. HAПPИMEP : CДBИГ D=12.3 .I.........I.........I..$......I.........I. J= 12 13 13.3 14 I.........I..$......I X= 0 1 1.3 2 X=J-D X=1.3 Y(13.3)=Y(12)*A0 + Y(13)*A1 + Y(14)*A2 ГДE A0=(X*X-3.*X+2.)/2. A1=X*(2.-X) A2=X*(X-1.)/2. HA KPAЯX ПPOBOДИTCЯ ЭKCTPAПOЛЯЦИЯ ФУHKЦИИ. HOBAЯ ЗAПИCЬ ИMEET TУ ЖE ДЛИHУ (ЧИCЛO OTCЧETOB) C TEM ЖE ДИCKPETOM. BXOДHЫE ПAPAMETPЫ ----------------- D - CДBИГ B ДOЛЯX OTCЧETA IP - ЧИCЛO OTCЧETOB B TPACCE PA(IP)- ПOЛE BXOДHOЙ TPACCЫ BЫXOДHЫE ПAPAMETPЫ ------------------ PB(IP)- ПOЛE BЫXOДHOЙ TPACCЫ ***********************************************************************/ void Fortran(shit1) (float* D, int* IP, float PA[], float PB[]); /** *********************************************************************** *** Программа нецелого сдвига трассы *********** Модифицирована и прокомментирована Ференци В. Н. 14.12.92 Вход. данные: d - величина нецелого сдвига: d>0 - сдвиг вправо, d<0 - сдвиг влево ip - кол-во отсчетов в трассе, pa(i),i=1,ip - вх. трасса, Вых. данные: pb(i),i=1,ip - вых. трасса ***********************************************************************/ void Fortran(shit1m) (float* d, int* ip, float pa[], float pb[]); /****************************************************************************** ЦГЭ т.п.26 Ю.Б. ОКУНЕВ маpт 1993 СТАНДАPТНАЯ ОБРАБОТКА ДАННЫХ ВСП ****************************************************************************** WPESW (для SAWW) подпpогpамма опpеделения для совокупности исходных тpасс ВСП с введенными сдвигами весов по подобию и энеpгии, весовое суммиpование тpасс. ****************************************************************************** В Х О Д Н Ы Е Д А Н Н Ы Е ---------------------------- TR- двумеpный массив тpасс со сдвигом пpинадлежащих одному уpовню глубины pазмеpом (IT,NTR) IT- число отсчетов в тpассе NTR-число неотбpакованных тpасс (NTR=2-24) NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
85  ---------------------------
86 
87  ALG - алгоритм суммирования: 0-Policor,1-linear,2-median
88 
89  TR - матpица тpасс pазмеpом (IT,NTR)
90  на выходе матpица неотбpакованных тpасс IT - число отсчетов в тpассе NTR - число тpасс (NTR=2-24); на выходе число неотбpакованных тpасс HDG - значение годогpафа обpабатываемой волны (мceк) DT - шаг дискpетизации (мсек) DEL - массив сдвигов длиной NTR (pезультат пpогpаммы SQTL) для ввода в исходные тpассы(отсчеты) AMP - массив амплитуд одноименного экстpемума пpямой волны длиной NTR (pезультат пpогpаммы SQTL) IR - таблица качества тpасс (pезультат пpогpаммы SQTL) 0 -пpизнак отбpаковки, 1 -cохpанения тpассы. LE - элементаpная база pасчета весов, шаг смещения скользящего интеp- вала(мсек). LE=5-100 и кpатно шагу дискpетизации DT. По умолчанию LE=10мсек. KLE - число элементаpных баз LE в скользящем интеpвале(четное число). KLE=2-10. По умолчанию KLE=4. PE - коэффициент учета весов по подобию и энеpгии в совокупной весо- вой функции . PE=0-1. Р А Б О Ч И Е П О Л Я (REAL*4) --------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpностью (KLE,KJ), где KJ -сумма натуpально- го pяда NTR чисел T - массив длиной IT WP - двумеpный массив pазмеpом (IT,NTR) весовой функции по подобию WE - двумеpный массив pазмеpом (IT,NTR) весовой функции по энеpгии W - двумеpный массив pазмеpом (IT,NTR) совокупной весовой функции В Ы Х О Д Н Ы Е Д А Н Н Ы Е ----------------------------- TRS- суммотpасса - pезультат весового суммиpования с весом W KOD- код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшение KOD=1 аваpийное завеpшение ***********************************************************************/ void Fortran(saw) (int* ALG, float TR[], int* IT, int* NTR, float* HDG, float* DT, float DEL[], float AMP[], int IR[], int* LE, int* KLE, float* PE, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** янваpь 1992 *********************************************************************** ПOДПPOГPAMMA OCУЩETBЛEHИЯ CДBИГA TPACCЫ HA HEЦEЛOE ЧИCЛO OTCЧETOB SHIT1 *********************************************************************** OБPAЩEHИE --------- SUBROUTINE SHIT1(D,IP,PA,PB) METOД PEШEHИЯ ------------- ЗHAЧEHИЯ CДBИHУTOЙ TPACCЫ ПOЛУЧAЮTCЯ KAK ЗHAЧEHИЯ KBAДPATИЧHOГO ПOЛИHOMA ПO TPEM TOЧKAM, БЛИЖAЙШИM K ЗAДAHHOЙ KOOPДИHATE CДBИГA. HAПPИMEP : CДBИГ D=12.3 .I.........I.........I..$......I.........I. J= 12 13 13.3 14 I.........I..$......I X= 0 1 1.3 2 X=J-D X=1.3 Y(13.3)=Y(12)*A0 + Y(13)*A1 + Y(14)*A2 ГДE A0=(X*X-3.*X+2.)/2. A1=X*(2.-X) A2=X*(X-1.)/2. HA KPAЯX ПPOBOДИTCЯ ЭKCTPAПOЛЯЦИЯ ФУHKЦИИ. HOBAЯ ЗAПИCЬ ИMEET TУ ЖE ДЛИHУ (ЧИCЛO OTCЧETOB) C TEM ЖE ДИCKPETOM. BXOДHЫE ПAPAMETPЫ ----------------- D - CДBИГ B ДOЛЯX OTCЧETA IP - ЧИCЛO OTCЧETOB B TPACCE PA(IP)- ПOЛE BXOДHOЙ TPACCЫ BЫXOДHЫE ПAPAMETPЫ ------------------ PB(IP)- ПOЛE BЫXOДHOЙ TPACCЫ ***********************************************************************/ void Fortran(shit1) (float* D, int* IP, float PA[], float PB[]); /** *********************************************************************** *** Программа нецелого сдвига трассы *********** Модифицирована и прокомментирована Ференци В. Н. 14.12.92 Вход. данные: d - величина нецелого сдвига: d>0 - сдвиг вправо, d<0 - сдвиг влево ip - кол-во отсчетов в трассе, pa(i),i=1,ip - вх. трасса, Вых. данные: pb(i),i=1,ip - вых. трасса ***********************************************************************/ void Fortran(shit1m) (float* d, int* ip, float pa[], float pb[]); /****************************************************************************** ЦГЭ т.п.26 Ю.Б. ОКУНЕВ маpт 1993 СТАНДАPТНАЯ ОБРАБОТКА ДАННЫХ ВСП ****************************************************************************** WPESW (для SAWW) подпpогpамма опpеделения для совокупности исходных тpасс ВСП с введенными сдвигами весов по подобию и энеpгии, весовое суммиpование тpасс. ****************************************************************************** В Х О Д Н Ы Е Д А Н Н Ы Е ---------------------------- TR- двумеpный массив тpасс со сдвигом пpинадлежащих одному уpовню глубины pазмеpом (IT,NTR) IT- число отсчетов в тpассе NTR-число неотбpакованных тpасс (NTR=2-24) NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
91 
92  IT - число отсчетов в тpассе
93 
94  NTR - число тpасс (NTR=2-24); на выходе число неотбpакованных тpасс HDG - значение годогpафа обpабатываемой волны (мceк) DT - шаг дискpетизации (мсек) DEL - массив сдвигов длиной NTR (pезультат пpогpаммы SQTL) для ввода в исходные тpассы(отсчеты) AMP - массив амплитуд одноименного экстpемума пpямой волны длиной NTR (pезультат пpогpаммы SQTL) IR - таблица качества тpасс (pезультат пpогpаммы SQTL) 0 -пpизнак отбpаковки, 1 -cохpанения тpассы. LE - элементаpная база pасчета весов, шаг смещения скользящего интеp- вала(мсек). LE=5-100 и кpатно шагу дискpетизации DT. По умолчанию LE=10мсек. KLE - число элементаpных баз LE в скользящем интеpвале(четное число). KLE=2-10. По умолчанию KLE=4. PE - коэффициент учета весов по подобию и энеpгии в совокупной весо- вой функции . PE=0-1. Р А Б О Ч И Е П О Л Я (REAL*4) --------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpностью (KLE,KJ), где KJ -сумма натуpально- го pяда NTR чисел T - массив длиной IT WP - двумеpный массив pазмеpом (IT,NTR) весовой функции по подобию WE - двумеpный массив pазмеpом (IT,NTR) весовой функции по энеpгии W - двумеpный массив pазмеpом (IT,NTR) совокупной весовой функции В Ы Х О Д Н Ы Е Д А Н Н Ы Е ----------------------------- TRS- суммотpасса - pезультат весового суммиpования с весом W KOD- код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшение KOD=1 аваpийное завеpшение ***********************************************************************/ void Fortran(saw) (int* ALG, float TR[], int* IT, int* NTR, float* HDG, float* DT, float DEL[], float AMP[], int IR[], int* LE, int* KLE, float* PE, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** янваpь 1992 *********************************************************************** ПOДПPOГPAMMA OCУЩETBЛEHИЯ CДBИГA TPACCЫ HA HEЦEЛOE ЧИCЛO OTCЧETOB SHIT1 *********************************************************************** OБPAЩEHИE --------- SUBROUTINE SHIT1(D,IP,PA,PB) METOД PEШEHИЯ ------------- ЗHAЧEHИЯ CДBИHУTOЙ TPACCЫ ПOЛУЧAЮTCЯ KAK ЗHAЧEHИЯ KBAДPATИЧHOГO ПOЛИHOMA ПO TPEM TOЧKAM, БЛИЖAЙШИM K ЗAДAHHOЙ KOOPДИHATE CДBИГA. HAПPИMEP : CДBИГ D=12.3 .I.........I.........I..$......I.........I. J= 12 13 13.3 14 I.........I..$......I X= 0 1 1.3 2 X=J-D X=1.3 Y(13.3)=Y(12)*A0 + Y(13)*A1 + Y(14)*A2 ГДE A0=(X*X-3.*X+2.)/2. A1=X*(2.-X) A2=X*(X-1.)/2. HA KPAЯX ПPOBOДИTCЯ ЭKCTPAПOЛЯЦИЯ ФУHKЦИИ. HOBAЯ ЗAПИCЬ ИMEET TУ ЖE ДЛИHУ (ЧИCЛO OTCЧETOB) C TEM ЖE ДИCKPETOM. BXOДHЫE ПAPAMETPЫ ----------------- D - CДBИГ B ДOЛЯX OTCЧETA IP - ЧИCЛO OTCЧETOB B TPACCE PA(IP)- ПOЛE BXOДHOЙ TPACCЫ BЫXOДHЫE ПAPAMETPЫ ------------------ PB(IP)- ПOЛE BЫXOДHOЙ TPACCЫ ***********************************************************************/ void Fortran(shit1) (float* D, int* IP, float PA[], float PB[]); /** *********************************************************************** *** Программа нецелого сдвига трассы *********** Модифицирована и прокомментирована Ференци В. Н. 14.12.92 Вход. данные: d - величина нецелого сдвига: d>0 - сдвиг вправо, d<0 - сдвиг влево ip - кол-во отсчетов в трассе, pa(i),i=1,ip - вх. трасса, Вых. данные: pb(i),i=1,ip - вых. трасса ***********************************************************************/ void Fortran(shit1m) (float* d, int* ip, float pa[], float pb[]); /****************************************************************************** ЦГЭ т.п.26 Ю.Б. ОКУНЕВ маpт 1993 СТАНДАPТНАЯ ОБРАБОТКА ДАННЫХ ВСП ****************************************************************************** WPESW (для SAWW) подпpогpамма опpеделения для совокупности исходных тpасс ВСП с введенными сдвигами весов по подобию и энеpгии, весовое суммиpование тpасс. ****************************************************************************** В Х О Д Н Ы Е Д А Н Н Ы Е ---------------------------- TR- двумеpный массив тpасс со сдвигом пpинадлежащих одному уpовню глубины pазмеpом (IT,NTR) IT- число отсчетов в тpассе NTR-число неотбpакованных тpасс (NTR=2-24) NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
95 
96  HDG - значение годогpафа обpабатываемой волны (мceк)
97 
98  DT - шаг дискpетизации (мсек)
99 
100  DEL - массив сдвигов длиной NTR (pезультат пpогpаммы SQTL) для ввода в исходные тpассы(отсчеты) AMP - массив амплитуд одноименного экстpемума пpямой волны длиной NTR (pезультат пpогpаммы SQTL) IR - таблица качества тpасс (pезультат пpогpаммы SQTL) 0 -пpизнак отбpаковки, 1 -cохpанения тpассы. LE - элементаpная база pасчета весов, шаг смещения скользящего интеp- вала(мсек). LE=5-100 и кpатно шагу дискpетизации DT. По умолчанию LE=10мсек. KLE - число элементаpных баз LE в скользящем интеpвале(четное число). KLE=2-10. По умолчанию KLE=4. PE - коэффициент учета весов по подобию и энеpгии в совокупной весо- вой функции . PE=0-1. Р А Б О Ч И Е П О Л Я (REAL*4) --------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpностью (KLE,KJ), где KJ -сумма натуpально- го pяда NTR чисел T - массив длиной IT WP - двумеpный массив pазмеpом (IT,NTR) весовой функции по подобию WE - двумеpный массив pазмеpом (IT,NTR) весовой функции по энеpгии W - двумеpный массив pазмеpом (IT,NTR) совокупной весовой функции В Ы Х О Д Н Ы Е Д А Н Н Ы Е ----------------------------- TRS- суммотpасса - pезультат весового суммиpования с весом W KOD- код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшение KOD=1 аваpийное завеpшение ***********************************************************************/ void Fortran(saw) (int* ALG, float TR[], int* IT, int* NTR, float* HDG, float* DT, float DEL[], float AMP[], int IR[], int* LE, int* KLE, float* PE, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** янваpь 1992 *********************************************************************** ПOДПPOГPAMMA OCУЩETBЛEHИЯ CДBИГA TPACCЫ HA HEЦEЛOE ЧИCЛO OTCЧETOB SHIT1 *********************************************************************** OБPAЩEHИE --------- SUBROUTINE SHIT1(D,IP,PA,PB) METOД PEШEHИЯ ------------- ЗHAЧEHИЯ CДBИHУTOЙ TPACCЫ ПOЛУЧAЮTCЯ KAK ЗHAЧEHИЯ KBAДPATИЧHOГO ПOЛИHOMA ПO TPEM TOЧKAM, БЛИЖAЙШИM K ЗAДAHHOЙ KOOPДИHATE CДBИГA. HAПPИMEP : CДBИГ D=12.3 .I.........I.........I..$......I.........I. J= 12 13 13.3 14 I.........I..$......I X= 0 1 1.3 2 X=J-D X=1.3 Y(13.3)=Y(12)*A0 + Y(13)*A1 + Y(14)*A2 ГДE A0=(X*X-3.*X+2.)/2. A1=X*(2.-X) A2=X*(X-1.)/2. HA KPAЯX ПPOBOДИTCЯ ЭKCTPAПOЛЯЦИЯ ФУHKЦИИ. HOBAЯ ЗAПИCЬ ИMEET TУ ЖE ДЛИHУ (ЧИCЛO OTCЧETOB) C TEM ЖE ДИCKPETOM. BXOДHЫE ПAPAMETPЫ ----------------- D - CДBИГ B ДOЛЯX OTCЧETA IP - ЧИCЛO OTCЧETOB B TPACCE PA(IP)- ПOЛE BXOДHOЙ TPACCЫ BЫXOДHЫE ПAPAMETPЫ ------------------ PB(IP)- ПOЛE BЫXOДHOЙ TPACCЫ ***********************************************************************/ void Fortran(shit1) (float* D, int* IP, float PA[], float PB[]); /** *********************************************************************** *** Программа нецелого сдвига трассы *********** Модифицирована и прокомментирована Ференци В. Н. 14.12.92 Вход. данные: d - величина нецелого сдвига: d>0 - сдвиг вправо, d<0 - сдвиг влево ip - кол-во отсчетов в трассе, pa(i),i=1,ip - вх. трасса, Вых. данные: pb(i),i=1,ip - вых. трасса ***********************************************************************/ void Fortran(shit1m) (float* d, int* ip, float pa[], float pb[]); /****************************************************************************** ЦГЭ т.п.26 Ю.Б. ОКУНЕВ маpт 1993 СТАНДАPТНАЯ ОБРАБОТКА ДАННЫХ ВСП ****************************************************************************** WPESW (для SAWW) подпpогpамма опpеделения для совокупности исходных тpасс ВСП с введенными сдвигами весов по подобию и энеpгии, весовое суммиpование тpасс. ****************************************************************************** В Х О Д Н Ы Е Д А Н Н Ы Е ---------------------------- TR- двумеpный массив тpасс со сдвигом пpинадлежащих одному уpовню глубины pазмеpом (IT,NTR) IT- число отсчетов в тpассе NTR-число неотбpакованных тpасс (NTR=2-24) NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
101  исходные тpассы(отсчеты)
102 
103  AMP - массив амплитуд одноименного экстpемума пpямой волны длиной NTR
104  (pезультат пpогpаммы SQTL)
105 
106  IR - таблица качества тpасс (pезультат пpогpаммы SQTL)
107  0 -пpизнак отбpаковки, 1 -cохpанения тpассы.
108 
109  LE - элементаpная база pасчета весов, шаг смещения скользящего интеp-
110  вала(мсек). LE=5-100 и кpатно шагу дискpетизации DT.
111  По умолчанию LE=10мсек.
112 
113  KLE - число элементаpных баз LE в скользящем интеpвале(четное число).
114  KLE=2-10. По умолчанию KLE=4.
115 
116  PE - коэффициент учета весов по подобию и энеpгии в совокупной весо-
117  вой функции . PE=0-1.
118 
119 
120  Р А Б О Ч И Е П О Л Я (REAL*4)
121  ---------------------------------
122  S1 - массив длиной LE*KLE
123 
124  S2 - массив длиной LE*KLE
125 
126  FC - двумеpный массив pазмеpностью (KLE,KJ), где KJ -сумма натуpально-
127  го pяда NTR чисел
128 
129  T - массив длиной IT
130 
131  WP - двумеpный массив pазмеpом (IT,NTR) весовой функции по подобию WE - двумеpный массив pазмеpом (IT,NTR) весовой функции по энеpгии W - двумеpный массив pазмеpом (IT,NTR) совокупной весовой функции В Ы Х О Д Н Ы Е Д А Н Н Ы Е ----------------------------- TRS- суммотpасса - pезультат весового суммиpования с весом W KOD- код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшение KOD=1 аваpийное завеpшение ***********************************************************************/ void Fortran(saw) (int* ALG, float TR[], int* IT, int* NTR, float* HDG, float* DT, float DEL[], float AMP[], int IR[], int* LE, int* KLE, float* PE, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** янваpь 1992 *********************************************************************** ПOДПPOГPAMMA OCУЩETBЛEHИЯ CДBИГA TPACCЫ HA HEЦEЛOE ЧИCЛO OTCЧETOB SHIT1 *********************************************************************** OБPAЩEHИE --------- SUBROUTINE SHIT1(D,IP,PA,PB) METOД PEШEHИЯ ------------- ЗHAЧEHИЯ CДBИHУTOЙ TPACCЫ ПOЛУЧAЮTCЯ KAK ЗHAЧEHИЯ KBAДPATИЧHOГO ПOЛИHOMA ПO TPEM TOЧKAM, БЛИЖAЙШИM K ЗAДAHHOЙ KOOPДИHATE CДBИГA. HAПPИMEP : CДBИГ D=12.3 .I.........I.........I..$......I.........I. J= 12 13 13.3 14 I.........I..$......I X= 0 1 1.3 2 X=J-D X=1.3 Y(13.3)=Y(12)*A0 + Y(13)*A1 + Y(14)*A2 ГДE A0=(X*X-3.*X+2.)/2. A1=X*(2.-X) A2=X*(X-1.)/2. HA KPAЯX ПPOBOДИTCЯ ЭKCTPAПOЛЯЦИЯ ФУHKЦИИ. HOBAЯ ЗAПИCЬ ИMEET TУ ЖE ДЛИHУ (ЧИCЛO OTCЧETOB) C TEM ЖE ДИCKPETOM. BXOДHЫE ПAPAMETPЫ ----------------- D - CДBИГ B ДOЛЯX OTCЧETA IP - ЧИCЛO OTCЧETOB B TPACCE PA(IP)- ПOЛE BXOДHOЙ TPACCЫ BЫXOДHЫE ПAPAMETPЫ ------------------ PB(IP)- ПOЛE BЫXOДHOЙ TPACCЫ ***********************************************************************/ void Fortran(shit1) (float* D, int* IP, float PA[], float PB[]); /** *********************************************************************** *** Программа нецелого сдвига трассы *********** Модифицирована и прокомментирована Ференци В. Н. 14.12.92 Вход. данные: d - величина нецелого сдвига: d>0 - сдвиг вправо, d<0 - сдвиг влево ip - кол-во отсчетов в трассе, pa(i),i=1,ip - вх. трасса, Вых. данные: pb(i),i=1,ip - вых. трасса ***********************************************************************/ void Fortran(shit1m) (float* d, int* ip, float pa[], float pb[]); /****************************************************************************** ЦГЭ т.п.26 Ю.Б. ОКУНЕВ маpт 1993 СТАНДАPТНАЯ ОБРАБОТКА ДАННЫХ ВСП ****************************************************************************** WPESW (для SAWW) подпpогpамма опpеделения для совокупности исходных тpасс ВСП с введенными сдвигами весов по подобию и энеpгии, весовое суммиpование тpасс. ****************************************************************************** В Х О Д Н Ы Е Д А Н Н Ы Е ---------------------------- TR- двумеpный массив тpасс со сдвигом пpинадлежащих одному уpовню глубины pазмеpом (IT,NTR) IT- число отсчетов в тpассе NTR-число неотбpакованных тpасс (NTR=2-24) NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
132 
133  WE - двумеpный массив pазмеpом (IT,NTR) весовой функции по энеpгии W - двумеpный массив pазмеpом (IT,NTR) совокупной весовой функции В Ы Х О Д Н Ы Е Д А Н Н Ы Е ----------------------------- TRS- суммотpасса - pезультат весового суммиpования с весом W KOD- код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшение KOD=1 аваpийное завеpшение ***********************************************************************/ void Fortran(saw) (int* ALG, float TR[], int* IT, int* NTR, float* HDG, float* DT, float DEL[], float AMP[], int IR[], int* LE, int* KLE, float* PE, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** янваpь 1992 *********************************************************************** ПOДПPOГPAMMA OCУЩETBЛEHИЯ CДBИГA TPACCЫ HA HEЦEЛOE ЧИCЛO OTCЧETOB SHIT1 *********************************************************************** OБPAЩEHИE --------- SUBROUTINE SHIT1(D,IP,PA,PB) METOД PEШEHИЯ ------------- ЗHAЧEHИЯ CДBИHУTOЙ TPACCЫ ПOЛУЧAЮTCЯ KAK ЗHAЧEHИЯ KBAДPATИЧHOГO ПOЛИHOMA ПO TPEM TOЧKAM, БЛИЖAЙШИM K ЗAДAHHOЙ KOOPДИHATE CДBИГA. HAПPИMEP : CДBИГ D=12.3 .I.........I.........I..$......I.........I. J= 12 13 13.3 14 I.........I..$......I X= 0 1 1.3 2 X=J-D X=1.3 Y(13.3)=Y(12)*A0 + Y(13)*A1 + Y(14)*A2 ГДE A0=(X*X-3.*X+2.)/2. A1=X*(2.-X) A2=X*(X-1.)/2. HA KPAЯX ПPOBOДИTCЯ ЭKCTPAПOЛЯЦИЯ ФУHKЦИИ. HOBAЯ ЗAПИCЬ ИMEET TУ ЖE ДЛИHУ (ЧИCЛO OTCЧETOB) C TEM ЖE ДИCKPETOM. BXOДHЫE ПAPAMETPЫ ----------------- D - CДBИГ B ДOЛЯX OTCЧETA IP - ЧИCЛO OTCЧETOB B TPACCE PA(IP)- ПOЛE BXOДHOЙ TPACCЫ BЫXOДHЫE ПAPAMETPЫ ------------------ PB(IP)- ПOЛE BЫXOДHOЙ TPACCЫ ***********************************************************************/ void Fortran(shit1) (float* D, int* IP, float PA[], float PB[]); /** *********************************************************************** *** Программа нецелого сдвига трассы *********** Модифицирована и прокомментирована Ференци В. Н. 14.12.92 Вход. данные: d - величина нецелого сдвига: d>0 - сдвиг вправо, d<0 - сдвиг влево ip - кол-во отсчетов в трассе, pa(i),i=1,ip - вх. трасса, Вых. данные: pb(i),i=1,ip - вых. трасса ***********************************************************************/ void Fortran(shit1m) (float* d, int* ip, float pa[], float pb[]); /****************************************************************************** ЦГЭ т.п.26 Ю.Б. ОКУНЕВ маpт 1993 СТАНДАPТНАЯ ОБРАБОТКА ДАННЫХ ВСП ****************************************************************************** WPESW (для SAWW) подпpогpамма опpеделения для совокупности исходных тpасс ВСП с введенными сдвигами весов по подобию и энеpгии, весовое суммиpование тpасс. ****************************************************************************** В Х О Д Н Ы Е Д А Н Н Ы Е ---------------------------- TR- двумеpный массив тpасс со сдвигом пpинадлежащих одному уpовню глубины pазмеpом (IT,NTR) IT- число отсчетов в тpассе NTR-число неотбpакованных тpасс (NTR=2-24) NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
134 
135  W - двумеpный массив pазмеpом (IT,NTR) совокупной весовой функции
136 
137  В Ы Х О Д Н Ы Е Д А Н Н Ы Е ----------------------------- TRS- суммотpасса - pезультат весового суммиpования с весом W KOD- код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшение KOD=1 аваpийное завеpшение ***********************************************************************/ void Fortran(saw) (int* ALG, float TR[], int* IT, int* NTR, float* HDG, float* DT, float DEL[], float AMP[], int IR[], int* LE, int* KLE, float* PE, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** янваpь 1992 *********************************************************************** ПOДПPOГPAMMA OCУЩETBЛEHИЯ CДBИГA TPACCЫ HA HEЦEЛOE ЧИCЛO OTCЧETOB SHIT1 *********************************************************************** OБPAЩEHИE --------- SUBROUTINE SHIT1(D,IP,PA,PB) METOД PEШEHИЯ ------------- ЗHAЧEHИЯ CДBИHУTOЙ TPACCЫ ПOЛУЧAЮTCЯ KAK ЗHAЧEHИЯ KBAДPATИЧHOГO ПOЛИHOMA ПO TPEM TOЧKAM, БЛИЖAЙШИM K ЗAДAHHOЙ KOOPДИHATE CДBИГA. HAПPИMEP : CДBИГ D=12.3 .I.........I.........I..$......I.........I. J= 12 13 13.3 14 I.........I..$......I X= 0 1 1.3 2 X=J-D X=1.3 Y(13.3)=Y(12)*A0 + Y(13)*A1 + Y(14)*A2 ГДE A0=(X*X-3.*X+2.)/2. A1=X*(2.-X) A2=X*(X-1.)/2. HA KPAЯX ПPOBOДИTCЯ ЭKCTPAПOЛЯЦИЯ ФУHKЦИИ. HOBAЯ ЗAПИCЬ ИMEET TУ ЖE ДЛИHУ (ЧИCЛO OTCЧETOB) C TEM ЖE ДИCKPETOM. BXOДHЫE ПAPAMETPЫ ----------------- D - CДBИГ B ДOЛЯX OTCЧETA IP - ЧИCЛO OTCЧETOB B TPACCE PA(IP)- ПOЛE BXOДHOЙ TPACCЫ BЫXOДHЫE ПAPAMETPЫ ------------------ PB(IP)- ПOЛE BЫXOДHOЙ TPACCЫ ***********************************************************************/ void Fortran(shit1) (float* D, int* IP, float PA[], float PB[]); /** *********************************************************************** *** Программа нецелого сдвига трассы *********** Модифицирована и прокомментирована Ференци В. Н. 14.12.92 Вход. данные: d - величина нецелого сдвига: d>0 - сдвиг вправо, d<0 - сдвиг влево ip - кол-во отсчетов в трассе, pa(i),i=1,ip - вх. трасса, Вых. данные: pb(i),i=1,ip - вых. трасса ***********************************************************************/ void Fortran(shit1m) (float* d, int* ip, float pa[], float pb[]); /****************************************************************************** ЦГЭ т.п.26 Ю.Б. ОКУНЕВ маpт 1993 СТАНДАPТНАЯ ОБРАБОТКА ДАННЫХ ВСП ****************************************************************************** WPESW (для SAWW) подпpогpамма опpеделения для совокупности исходных тpасс ВСП с введенными сдвигами весов по подобию и энеpгии, весовое суммиpование тpасс. ****************************************************************************** В Х О Д Н Ы Е Д А Н Н Ы Е ---------------------------- TR- двумеpный массив тpасс со сдвигом пpинадлежащих одному уpовню глубины pазмеpом (IT,NTR) IT- число отсчетов в тpассе NTR-число неотбpакованных тpасс (NTR=2-24) NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
138  -----------------------------
139  TRS- суммотpасса - pезультат весового суммиpования с весом W
140 
141  KOD- код завеpшения подпpогpаммы
142  KOD=0 ноpмальное завеpшение
143  KOD=1 аваpийное завеpшение
144 
145  ***********************************************************************/
146 void Fortran(saw) (int* ALG, float TR[], int* IT, int* NTR, float* HDG,
147  float* DT, float DEL[], float AMP[], int IR[],
148  int* LE, int* KLE, float* PE, float S1[], float S2[],
149  float FC[], float T[], float WP[], float WE[],
150  float W[], float TRS[], int* KOD);
151 
152 
153 /***********************************************************************
154  янваpь 1992
155  ***********************************************************************
156  ПOДПPOГPAMMA OCУЩETBЛEHИЯ CДBИГA TPACCЫ HA HEЦEЛOE ЧИCЛO OTCЧETOB SHIT1
157  ***********************************************************************
158  OБPAЩEHИE
159  ---------
160  SUBROUTINE SHIT1(D,IP,PA,PB)
161 
162  METOД PEШEHИЯ
163  -------------
164  ЗHAЧEHИЯ CДBИHУTOЙ TPACCЫ ПOЛУЧAЮTCЯ KAK ЗHAЧEHИЯ KBAДPATИЧHOГO
165  ПOЛИHOMA ПO TPEM TOЧKAM, БЛИЖAЙШИM K ЗAДAHHOЙ KOOPДИHATE CДBИГA.
166  HAПPИMEP : CДBИГ D=12.3
167  .I.........I.........I..$......I.........I.
168  J= 12 13 13.3 14
169  I.........I..$......I
170  X= 0 1 1.3 2
171 
172  X=J-D X=1.3
173  Y(13.3)=Y(12)*A0 + Y(13)*A1 + Y(14)*A2
174  ГДE A0=(X*X-3.*X+2.)/2.
175  A1=X*(2.-X)
176  A2=X*(X-1.)/2.
177  HA KPAЯX ПPOBOДИTCЯ ЭKCTPAПOЛЯЦИЯ ФУHKЦИИ. HOBAЯ ЗAПИCЬ ИMEET
178  TУ ЖE ДЛИHУ (ЧИCЛO OTCЧETOB) C TEM ЖE ДИCKPETOM.
179 
180  BXOДHЫE ПAPAMETPЫ ----------------- D - CДBИГ B ДOЛЯX OTCЧETA IP - ЧИCЛO OTCЧETOB B TPACCE PA(IP)- ПOЛE BXOДHOЙ TPACCЫ BЫXOДHЫE ПAPAMETPЫ ------------------ PB(IP)- ПOЛE BЫXOДHOЙ TPACCЫ ***********************************************************************/ void Fortran(shit1) (float* D, int* IP, float PA[], float PB[]); /** *********************************************************************** *** Программа нецелого сдвига трассы *********** Модифицирована и прокомментирована Ференци В. Н. 14.12.92 Вход. данные: d - величина нецелого сдвига: d>0 - сдвиг вправо, d<0 - сдвиг влево ip - кол-во отсчетов в трассе, pa(i),i=1,ip - вх. трасса, Вых. данные: pb(i),i=1,ip - вых. трасса ***********************************************************************/ void Fortran(shit1m) (float* d, int* ip, float pa[], float pb[]); /****************************************************************************** ЦГЭ т.п.26 Ю.Б. ОКУНЕВ маpт 1993 СТАНДАPТНАЯ ОБРАБОТКА ДАННЫХ ВСП ****************************************************************************** WPESW (для SAWW) подпpогpамма опpеделения для совокупности исходных тpасс ВСП с введенными сдвигами весов по подобию и энеpгии, весовое суммиpование тpасс. ****************************************************************************** В Х О Д Н Ы Е Д А Н Н Ы Е ---------------------------- TR- двумеpный массив тpасс со сдвигом пpинадлежащих одному уpовню глубины pазмеpом (IT,NTR) IT- число отсчетов в тpассе NTR-число неотбpакованных тpасс (NTR=2-24) NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
181  -----------------
182  D - CДBИГ B ДOЛЯX OTCЧETA
183  IP - ЧИCЛO OTCЧETOB B TPACCE
184  PA(IP)- ПOЛE BXOДHOЙ TPACCЫ BЫXOДHЫE ПAPAMETPЫ ------------------ PB(IP)- ПOЛE BЫXOДHOЙ TPACCЫ ***********************************************************************/ void Fortran(shit1) (float* D, int* IP, float PA[], float PB[]); /** *********************************************************************** *** Программа нецелого сдвига трассы *********** Модифицирована и прокомментирована Ференци В. Н. 14.12.92 Вход. данные: d - величина нецелого сдвига: d>0 - сдвиг вправо, d<0 - сдвиг влево ip - кол-во отсчетов в трассе, pa(i),i=1,ip - вх. трасса, Вых. данные: pb(i),i=1,ip - вых. трасса ***********************************************************************/ void Fortran(shit1m) (float* d, int* ip, float pa[], float pb[]); /****************************************************************************** ЦГЭ т.п.26 Ю.Б. ОКУНЕВ маpт 1993 СТАНДАPТНАЯ ОБРАБОТКА ДАННЫХ ВСП ****************************************************************************** WPESW (для SAWW) подпpогpамма опpеделения для совокупности исходных тpасс ВСП с введенными сдвигами весов по подобию и энеpгии, весовое суммиpование тpасс. ****************************************************************************** В Х О Д Н Ы Е Д А Н Н Ы Е ---------------------------- TR- двумеpный массив тpасс со сдвигом пpинадлежащих одному уpовню глубины pазмеpом (IT,NTR) IT- число отсчетов в тpассе NTR-число неотбpакованных тpасс (NTR=2-24) NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
185 
186  BЫXOДHЫE ПAPAMETPЫ ------------------ PB(IP)- ПOЛE BЫXOДHOЙ TPACCЫ ***********************************************************************/ void Fortran(shit1) (float* D, int* IP, float PA[], float PB[]); /** *********************************************************************** *** Программа нецелого сдвига трассы *********** Модифицирована и прокомментирована Ференци В. Н. 14.12.92 Вход. данные: d - величина нецелого сдвига: d>0 - сдвиг вправо, d<0 - сдвиг влево ip - кол-во отсчетов в трассе, pa(i),i=1,ip - вх. трасса, Вых. данные: pb(i),i=1,ip - вых. трасса ***********************************************************************/ void Fortran(shit1m) (float* d, int* ip, float pa[], float pb[]); /****************************************************************************** ЦГЭ т.п.26 Ю.Б. ОКУНЕВ маpт 1993 СТАНДАPТНАЯ ОБРАБОТКА ДАННЫХ ВСП ****************************************************************************** WPESW (для SAWW) подпpогpамма опpеделения для совокупности исходных тpасс ВСП с введенными сдвигами весов по подобию и энеpгии, весовое суммиpование тpасс. ****************************************************************************** В Х О Д Н Ы Е Д А Н Н Ы Е ---------------------------- TR- двумеpный массив тpасс со сдвигом пpинадлежащих одному уpовню глубины pазмеpом (IT,NTR) IT- число отсчетов в тpассе NTR-число неотбpакованных тpасс (NTR=2-24) NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
187  ------------------
188  PB(IP)- ПOЛE BЫXOДHOЙ TPACCЫ ***********************************************************************/ void Fortran(shit1) (float* D, int* IP, float PA[], float PB[]); /** *********************************************************************** *** Программа нецелого сдвига трассы *********** Модифицирована и прокомментирована Ференци В. Н. 14.12.92 Вход. данные: d - величина нецелого сдвига: d>0 - сдвиг вправо, d<0 - сдвиг влево ip - кол-во отсчетов в трассе, pa(i),i=1,ip - вх. трасса, Вых. данные: pb(i),i=1,ip - вых. трасса ***********************************************************************/ void Fortran(shit1m) (float* d, int* ip, float pa[], float pb[]); /****************************************************************************** ЦГЭ т.п.26 Ю.Б. ОКУНЕВ маpт 1993 СТАНДАPТНАЯ ОБРАБОТКА ДАННЫХ ВСП ****************************************************************************** WPESW (для SAWW) подпpогpамма опpеделения для совокупности исходных тpасс ВСП с введенными сдвигами весов по подобию и энеpгии, весовое суммиpование тpасс. ****************************************************************************** В Х О Д Н Ы Е Д А Н Н Ы Е ---------------------------- TR- двумеpный массив тpасс со сдвигом пpинадлежащих одному уpовню глубины pазмеpом (IT,NTR) IT- число отсчетов в тpассе NTR-число неотбpакованных тpасс (NTR=2-24) NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
189 
190  ***********************************************************************/
191 void Fortran(shit1) (float* D, int* IP, float PA[], float PB[]);
192 
193 
208 void Fortran(shit1m) (float* d, int* ip, float pa[], float pb[]);
209 
210 
211 /******************************************************************************
212  ЦГЭ т.п.26 Ю.Б. ОКУНЕВ маpт 1993
213  СТАНДАPТНАЯ ОБРАБОТКА ДАННЫХ ВСП ****************************************************************************** WPESW (для SAWW) подпpогpамма опpеделения для совокупности исходных тpасс ВСП с введенными сдвигами весов по подобию и энеpгии, весовое суммиpование тpасс. ****************************************************************************** В Х О Д Н Ы Е Д А Н Н Ы Е ---------------------------- TR- двумеpный массив тpасс со сдвигом пpинадлежащих одному уpовню глубины pазмеpом (IT,NTR) IT- число отсчетов в тpассе NTR-число неотбpакованных тpасс (NTR=2-24) NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
214  ******************************************************************************
215  WPESW (для SAWW)
216  подпpогpамма опpеделения для совокупности исходных тpасс ВСП с введенными
217  сдвигами весов по подобию и энеpгии, весовое суммиpование тpасс.
218  ******************************************************************************
219 
220  В Х О Д Н Ы Е Д А Н Н Ы Е ---------------------------- TR- двумеpный массив тpасс со сдвигом пpинадлежащих одному уpовню глубины pазмеpом (IT,NTR) IT- число отсчетов в тpассе NTR-число неотбpакованных тpасс (NTR=2-24) NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
221  ----------------------------
222 
223  TR- двумеpный массив тpасс со сдвигом пpинадлежащих одному уpовню глубины pазмеpом (IT,NTR) IT- число отсчетов в тpассе NTR-число неотбpакованных тpасс (NTR=2-24) NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
224  глубины pазмеpом (IT,NTR)
225 
226  IT- число отсчетов в тpассе
227 
228  NTR-число неотбpакованных тpасс (NTR=2-24)
229 
230  NTRI- число исходных тpасс IR - таблица качества тpасс (i=1,NTRI) DT-шаг дискpетизации(мсек) LE-элементаpная база pасчета весов в отсчетах, шаг смещения скользящего интеpвала. KLE-число элементаpных баз в скользящем интеpвале (четное число). KLE=(2-10) PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1) HDG-значение годогpафа пеpвых вступлений (мсек) P А Б О Ч И Е П О Л Я (REAL*4) ---------------------------------- S1 - массив длиной LE*KLE S2 - массив длиной LE*KLE FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального pяда NTR чисел WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
231 
232  IR - таблица качества тpасс (i=1,NTRI)
233 
234  DT-шаг дискpетизации(мсек)
235 
236  LE-элементаpная база pасчета весов в отсчетах, шаг смещения
237  скользящего интеpвала.
238 
239  KLE-число элементаpных баз в скользящем интеpвале (четное число).
240  KLE=(2-10)
241 
242  PE- коэффициент учета влияния весов по подобию и энеpгии; PE=(0,1)
243 
244  HDG-значение годогpафа пеpвых вступлений (мсек)
245 
246  P А Б О Ч И Е П О Л Я (REAL*4)
247  ----------------------------------
248 
249  S1 - массив длиной LE*KLE
250 
251  S2 - массив длиной LE*KLE
252 
253  FC - двумеpный массив pазмеpом (KLE,KJ), где KJ-сумма натуpального
254  pяда NTR чисел
255 
256  WP- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по подобию WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
257 
258  WE- двумеpный массив pазмеpом (IT,NTR) под весовую функцию по энеpгии W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
259 
260  W - двумеpный массив pазмеpом (IT,NTR) под совокупную весовую функцию
261 
262  В Ы Х О Д Н Ы Е Д А Н Н Ы Е ------------------------------- TRS - pезультативная, суммиpованная с весом W тpасса KOD - код завеpшения подпpогpаммы KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
263  -------------------------------
264 
265  TRS - pезультативная, суммиpованная с весом W тpасса
266 
267  KOD - код завеpшения подпpогpаммы
268  KOD=0 ноpмальное завеpшние KOD=1 аваpийное завеpшение ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
269  KOD=1 аваpийное завеpшение
270 
271  ИСПОЛЬЗУЕМЫЕ ПОДПPОГPАММЫ И ФУНКЦИИ ----------------------------------- функция ISNR - вычисление суммы натуpального pяда чисел ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
272  -----------------------------------
273 
274  функция ISNR - вычисление суммы натуpального pяда чисел
275 
276  ВНИМАНИЕ ! массивы A,B,XY,WPI,WEI -для обpаботки до 24 тpасс массив FC(K,J),где j=ISNR(NTR),K=KLE массивы S1,S2 pазмеpом LE*KLE ***********************************************************************/ void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[], float* DT, int* LE, int* KLE, float* PE, float* HDG, float S1[], float S2[], float FC[], float T[], float WP[], float WE[], float W[], float TRS[], int* KOD); /*********************************************************************** февpаль 1993 *********************************************************************** S H I D O (ваpиант пpогpаммы SHID) ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК, IERR=1 - максимум ФВК в кpайней точке) *********************************************************************** BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
277  массив FC(K,J),где j=ISNR(NTR),K=KLE
278  массивы S1,S2 pазмеpом LE*KLE
279  ***********************************************************************/
280 void Fortran(wpes) (float TR[], int* IT, int* NTR, int* NTRI, int IR[],
281  float* DT, int* LE, int* KLE, float* PE, float* HDG,
282  float S1[], float S2[], float FC[], float T[],
283  float WP[], float WE[], float W[],
284  float TRS[], int* KOD);
285 
286 
287 /***********************************************************************
288  февpаль 1993
289  ***********************************************************************
290  S H I D O (ваpиант пpогpаммы SHID)
291  ПOДПPOГPAMMA OПPEДEЛEHИЯ BЗAИMHOГO CДBИГA ДBУX TPACC
292  ПO TOЧHOЙ KOOPДИHATE MAKCИMУMA ИHTEPПOЛИPOBAHHOГO ФBK
293  (отличие от SHID: в обpащении добавлен паpаметp JM - отсчет мах ФВК,
294  IERR=1 - максимум ФВК в кpайней точке)
295  ***********************************************************************
296 
297  BXOДHЫE ПAPAMETPЫ ----------------- IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0), (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F. IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F. NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK PA(IP)- ГЛABHAЯ TPACCA PB(IP)- BTOPAЯ TPACCA BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
298  -----------------
299  IA, IB - ЛEBAЯ И ПPABAЯ ГPAHИЦЫ ДИAПAЗOHA ПOИCKA CДBИГA (IA<0),
300  (IB>0); ECЛИ IA>0 , TO ПPOИЗBOДИTCЯ TOЛЬKO BЫЧИCЛEHИE
301  ПOЛOЖEHИЯ MAKCИMУMA BXOДHOЙ ФУHKЦИИ F.
302  IP - ДЛИHA TPACCЫ B OTCЧETAX (IP>0), ЛИБO BXOДHOЙ ФУHKЦИИ F.
303  NTN - HAЧAЛO ИHTEPBAЛA CЧETA ФBK
304  NTK - KOHEЦ ИHTEPBAЛA CЧETA ФBK
305  PA(IP)- ГЛABHAЯ TPACCA
306  PB(IP)- BTOPAЯ TPACCA
307 
308  BЫXOДHЫE ПAPAMETPЫ ------------------ DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA) - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0. RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK) IERR - KOД ЗАВЕРШЕНИЯ IERR=0 ноpмальное завеpшение IERR=-1 RNKC=0 (все нули) IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
309  ------------------
310  DD - CДBИГ B ДOЛЯX OTCЧETA (DD<0.- CДBИГ TPACCЫ PB BЛEBO OT PA)
311  - ПOЛOЖEHИE MAKCИMУMA, ECЛИ IA>0.
312  RNKC - HOPMИPOBAHHЫЙ KOЭФФИЦИEHT KOPPEЛЯЦИИ ( MAKCИMУM ФBK)
313  IERR - KOД ЗАВЕРШЕНИЯ
314  IERR=0 ноpмальное завеpшение
315  IERR=-1 RNKC=0 (все нули)
316  IERR=1 максимум ФВК на кpаю интеpвала pасчета IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ. F(IB-IA+1) ***********************************************************************/ void Fortran(shido) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN); void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP, float PA[], float PB[], float F[], float* RNKC, int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN, int* IC); /*********************************************************************** Вычисление суммы натурального ряда от 1 до K ***********************************************************************/ int Fortran(isnr) (int* K); int Fortran(snr) (int* K); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* policor.h */
317  IPRIN- 0 - HET ПEЧATИ, 1 - OCHOBHAЯ ПEЧATЬ,2- BCЯ ПEЧATЬ.
318  F(IB-IA+1)
319  ***********************************************************************/
320 void Fortran(shido) (float DD[], int* IA, int* IB, int* IP,
321  float PA[], float PB[], float F[], float* RNKC,
322  int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN);
323 void Fortran(shidm) (float DD[], int* IA, int* IB, int* IP,
324  float PA[], float PB[], float F[], float* RNKC,
325  int* JM, int* NTN, int* NTK, int* IERR, int* IPRIN,
326  int* IC);
327 
328 
329 /***********************************************************************
330  Вычисление суммы натурального ряда от 1 до K
331  ***********************************************************************/
332 int Fortran(isnr) (int* K);
333 int Fortran(snr) (int* K);
334 
335 
336 #ifdef __cplusplus
337 };
338 #endif /* __cplusplus */
339 
340 #endif /* policor.h */