Приложение в Текст программы
в данном приложении приведены тексты программ алгоритма вычисления навигационной оценки с использованием средневзвешенного МНК и регуляризирующего алгоритма вычисления навигационной оценки предложенной в работе; алгоритма вычисления навигационных решений в HIT; реализации методики вычисления статистических характеристик навигационной информации.
Программы написаны на базовой версии языка программирования высокого уровня FORTRAN 77,Приложение содержит следующие материалы:
Файлы исходных данных.
Файл результатов работы программы.
Тексты программных компонент:
Основных программных модулей программы средневзвешенного МНК вычисляющего унифицированную оценку.
Основных программных модулей программы МНК, вычисляющего специализированную оценку, диссертации.
Программных модулей для общего использования программы средневзвешенного МНК и программы вычисляющей специализированную оценку.
в тексте программы содержатся комментарии, поясняющие содержание программного кода. Файлы исходных данных: Файл mnk_dat.l:
10 КОЛИЧЕСТвО ИЗМЕРЕННЫХ вЕКТОРОв ОТ 2 ДО 15
КОЛИЧЕСТвО ОЦЕНОЦЕННЕННЫХ вЕКТОРОв ОТ 1 ДО 14
ЧИСЛО УЧИТЫвАЕМЫХ ГАРМОНИК в ГПЗ ОТ О ДО 16
120. ИНТЕРвАЛ вРЕМЕНИ МЕЖДУ ИЗМЕРЕНИЯМИ (СЕК) ОТ 0. 86400.
40. 1ИАГ ИНТЕГРИРОвАНИЯ МОДЕЛИ ДвИЖЕНИЯ ОТ 0.1 ДО 120. (СЕК)
1 ПАРАМЕТР ДАТЧИКА СЛУЧАЙНЫХ ЧИСЕЛ ОТ -1 ДО 1000
1 КОЛИЧЕСТвО вАРИАНТОв ОЦЕНОК - (1)
1. МОДУЛЬ ОШИБКИ ИЗМЕРЕНИЙ ОТ 0, ДО 100.
1 ПРИЗНАК СИСТЕМЫ КООРДИНАТ - О ИЛИ 1
вАРИАНТ вЫЧ-ИЯ МАТРИЦЫ БАЛЛИСТИЧЕСКОЙ ПРОИЗвОДНОЙ: 1,2,3. ' '
01 вЫХОДНАЯ ТОЧНОСТЬ ПРИБЛИЖЕНИЯ ОЦЕНКИ в МНК
КОЭФФИЦ. СТАРЕНИЯ НАвИГАЦИОННОЙ ИНФОРМАЦИИ ОТ 1. ДО 0. 0.0 ИНТЕРвАЛ ПРОГНОЗА НАвИГАЦИОННОЙ ОЦЕНКИ
ПРИЗНАК вЫЧИСЛЕНИЯ ОЦЕНКИ С ДРУГИМ КОЛИЧ. ГАРМОНИК (3)
КОЛИЧ. ГАРМОНИК С КОТОРЫМ ОБРАБАТ. вЕКТОРА ОТ 0 ДО 16 0.03 БАЛЛИСТИЧЕСКИЙ КОЭФФИЦИЕНТ
0.0 ОШИБКА БАЛЛИСТИЧЕСКОГО КОЭФФИЦИЕНТА ОТ 0.
ДО 1. Файл alf_bet:0 alfaorO. до 10, 1.0 beta от 0. до 10.
параметр =1. 1. параметр =1.
Файл BWS: вариант файла BWS для двух векторов измерений
-1080.000000000
Ozenmnk
38610.00000000 4053.85669606 -5246.36076709 .92093767 5.78952120 4,45317075 -.00021645
6601.958436134 .007158623 .015823935 -.073252961 2.489989338 7.209173710 -960.000000000 6530.135870851 298.230775801
862.202408960 -1.122498171 2.475637565 7.136880767
Prograram ШК_рагуля
с Используется прогноз с 16 гармониками в разложении. Программа вычисления оценки о метолом МНК спецяал доработка программы для двойного обращения к Gl_ с самый правильный вариант доработанный вариант с правильной дисперсией при alfa-0 с и знаком минус (-) при FI1L_F1 implicit real+8 (a-h,o-z)
dimension rvg(6},rva(6),rvnev(6),rv(6},osch(6) dimension rnom(16,7), rozen(16,7),radotk(16,7) /,REE(96>
dimension rvpoz(6),vo(6),vg(6), rvv(6),г!огг1(6),rlozz(6),DIS26 (5) COMMON /OBL1 /NDATA(3) common/STAR/ALT
COMMON / GEO /AMU,RE,OMZ,ALF,AJ2,AJ4 common/stat/atkpr(100,6) /,atk(100,6),woz(100,6),amd(100,6) common/c3/rvist(6}, rvistpr(6) common/otlad/npeh,h,ng,nskid common/parsbe/sbal
common/paratm/sun(2),ap,f1,fsh,pr,natm,ndate(3) common/c/r(16,7) ,hf (96, 6),ozz(16,7),roz(16,7) common/sigl_6/sig(6) coinmon/wesa_os/ABC_T (6) ,ABC (6) external fsbal
с орбита Коб - 250*350, наклонение 00,01 град Тд™ 5419.2 СЕК
data rvg/6682.242, 0.0, 0.0,-0.05840, 7.23971,0.00135/ с орбита 500 * 525 , наклонение 0,05 град с data rvg/6878.160,0.0,0.0,0.0,7.12324,0.00665/
do 2 i-1,6 2 rv(i)=rvg(i)
e=Q.005 npeh=0 sbal-0.0 ng=4
ndate{l>=l ndate(2)=1 ndate(3)=1990
ndata(l)*=ndate(l) data(2)=ndate(2) ndata[3)=ndate(3)
natm=l ' ko=12 kozn=l ' th=10.
tpro=5593.2 С tpro-1.2
с варианты работы nprog=0 {без прогноза и стат. обработ) с nprog=l (с прогнозом и стат. обработ) nprog=l
open (un±t=3, ^^^шпк^гег') open (unit=5,file=rmnk_dat,,status='oldl) read(5,100) ко,когп,пд,th,h,NVOZ,NWAR,S,npriz,nskid,e,alt /,TPRO,nwras,ngo,sbal, osbal 100 format <12/i2/i2/g20.5/g20.S/i3/i3/g20.5/i2/i2/g20.7/g20.7 //G20.7/i3/i4/g20.7/g20.7) write(3,100) ко,kozn,ng,th,h,NTOZ,NWAR,S, npriz,nskid,e,alt /,T PRO,nwras,ngo,sbal,о sbal writef*,107) tpro.nwar,KO,KOZN 107 format (' M.
H. К., ПРОГНОЗ ОЦЕНКИ HA',F11,3,' СЕК',/, /' Колич. вариантов =',i3,' КО,KOZN=',213 ) write(3,107) tpro close(unit=5)open {unit=5,fiLe='abc_TP',status-"'old*) read(5,189) (abc_T(i),i=l,6)
109 format (g20.7) ? write{*,197) (abc_T(i>,i=l,6)
197 format (' вЕСА- abc_T ->',6F11.3)
close(unit=5) open (unit=5,file=*abc',status='old")
read(5,129) (abc(i),i=l,6} 129 format (g20.7)
write(*,127) (abc(i),i=l,6) 127 format (' вЕСА = abc ->',6Fll.3)
close(unit-5) call drk(ng)
do 18 klp=l,NWAR
if(nwras.eq.2} goto 188 if(nwras.eq.3) goto 188 if(nwras.eq.1) goto 188
188 continue t0=0.
open (unit=5,file='T0_nah',status='old') read(5,108) TO 108 format (g20.5}
close(unit-5) write(*,119) TO
119 format!' TO начальное=',E20.5) t=tO
do 32 i-1,6 32 rv(i)=rvg(i)
do 4 k"kozn,ko tv=t+th do 3 i-1,6 rnom(k,i+l)=rv(i)
r{k,i+l)=rv(i)
r(k,l)=t rnom(k,l)=t
call prog$t(tv, t,rv,rva,u,h,ndate,nskid,ng,fsbal)
t=tv
continue
do 22 i-1,kozn do 22 k-1,7 22 ozz (i, k) =r (i, k)
do 20 k=l,6 20 rvist(k)=r(ко,k+1) с прогн оцен
tv=r(ко,1)+tpro t=r(ko,l}
do 47 i=l,6 47 rvg(i)-rvist(i)
call prog$t(tv,t, rvg,rva,u,h,ndate,nskid,ng,fsbal) do 48 i-1,6 r(ko+1,i+1) =rvg (1)
mom (ko+1, i+l)=rvg(i) rvist (i) -=rvg (i)
4 в rvistpr(i)=rvg(i)
write(3,51) {(r(kk,ji+1),ji=l,6),кк=когп,ко) write(*,51) { write(3,65l} ng,ngo,sbal,osbal write651) ng,ngo,sbal,osbal open (unit=l, file-'BWS') call wositms (ко, kozn,NVOZ, kip, s) close(unit=l) if(nwras.eq.1) goto 8B8 с Доработка для ввода из BWS > ng = 4 как в ССН if(nwras.eq.3) ng = ngo с обращение к МНК " С тут нужно вставить прогноз г,т на Tnp=tpro tv=r.[ko, 1} +tpro t=r(ко,1) do 147 i-1,6 rvg (i) =r [ко, i+1) call prog?t(tv,t,rvg,rva,u,h,ndate,nskid,ng,fsbal) do 149 1=1,6 149 r {ko+1,i+1) =rvg (i) r{ko+1,1)=R(K0,1)+TPRO с считывание первого проближения оценки в точке с* с из файла ozk_mnk который вычисляет программа mnk 650 format [f20.8) goto 788 do 148 i=l,6 r(ko+1,i+1) = rvist(i) + 0.000001 751 formate оценка 1 на момент t* из rvist ') write(*,7$l) 78Э write{*,650} (r(ko+1,ji>,ji=l,7) close(unit=5) write(3,551) (r(ko+1,ji+1),ji=l,6) write(*,551) (r(ko+1,ji+1},ji=l,6) 551 formate вектор на tnp->', /6 (f 13.6)) write(3,52) ((r(kk,ji+1),ji=l,6),kk-kozn,ko+1) write(*,52) ({r(kk,ji+1),ji-1,6)rkk=kozn,ko+1) formate возмущенные вектора ->?,16(/6(fl3.6))) с доработка для второй итерации Gl_ 1.04.02 do 272 i-1,6 R102Z1 (i) - rvist(i) 272 rvnev(i} = rvist(i) - r(ko+l,i+l) r_oz=0 do 572 1=1,3 572 r oz =r oz+| rvist(i)-r(ko+1,i+1))**2 WRITE"*,725У (rvist(ji},ji=l,6),(r(ko+1,ji+1),j i=l,6) /,[rvnev(ji),ji=l,6),г_ог 725 format (' до Gl_ rvist, r (ko+1,), rvnev, r__oz=> 1,/, 6gl6.S,/, /6gl6.8,/6gl6.8,fl2.5) it_Gl_ = 1 sbal = abal + osbal * 3bal write(3,651) ng,ngo,sbal,osbal write(*,651) ng,ngo,sbal,osbal 651 format(* ng,ngo, sbal,osbal ->',2i4,2f13.6}
666 continue call retannk_w[ко, kozn, e,npriz, kip,it_Gl_) с обращение к программе с весом по первой переменной на момент с последнего измерения t* alfa + beta = 1 , alfa>0, beta>0 alfa-1. beta-=0. open (unit=5,file='alf_bet',status='old'J read{5,106) alfa,beta,гпак 106 format (g20.7) write(*,105) alfa,beta,znak 105 format С alfa,beta,2nak=',3f20,7) close (unit=5> с вычисление оптимального коэффициента alfa dp = 3600. dsk = 3600000000. dp = 0.000277777777 dsk - 0.00000000027777777 if( it_Gl_ .It. write!*,115) al_op format (' alfa_optim после alf_opt=",?20.9) open (unit=5,f ile='alf_opt*,status='old*) write(*,306) al_op,ko,kozn write(5,306) al_op, ko, kozn 306 format (' alfa_optimalnoe=",f20.7,214) al_op=alfa if(al_opr .It. 0. } al_opr = 0. call DIS_ALOP( AL_OPr ,DP,DSK,KO,KOZH,DIS_A, DIS_A0 ) DIA=SQRT(DI3 A) ~ DIA0=SQRT(DIS_A0} dul- ( (DtAO-DTA) /DIAO) *100. DPS-SQRT(DP) Dsks-SQRT(Dsk) write{*,116) DIA, DIAO, DUL, al_opr, DPS,DSKS write(5,116) DIA, DIAO, DOL, al_opr, DFS,DSKS format С после DIS_AL0P=>',/,' DIS_A=',f23.13,/, /' DIS_A0= *,f23.13, /, ' DUL%™*,F13.5,/,' al_op=',f13.5,/,' D_P_SK_ish= ',2f23.9) CALL DIS_2_6( AL_OPr , DIS_A,DIS26,KO,KOZN,DP,DSK) write(*,1103) (sig(i),i=l,6),sig(l)+sig(2)+sig(3),sig(4)+sig(5)+sig(6) write(5,1103) (sig(i),i=l, 6),sig(l)+sig(2)+sig(3),sig(4)+sig(5)+sig(6) format (' MHK( стандарт) sig_x_y_z_Vx_Vy_Vz,сум_1+2+3,сум_4+5+6=',/,6f12.6,/2f12.7) write(*,1104) dia, (DIS26(i),i=l,5),dia+dis26(1}+dis26(2),dis26(3)+dis26(4)+dis26(5) write(5,1104) dia,(DIS26(i), i=l,5) ,dia+dis26(1)+dis26(2),dis26(3)+dis26(4)+dis26(5) formate (спец) sig x_y z _VJC VY Vz, сум_1+2+3, сум_4+5+6=', //,6fl2.6,/2fl2.7) "" ~write(*7ll05) ((SIG(1)-dia)/SIG(1))*100., /(((SIG{I+l)-DIS26(i+l))/Sig(i+l))*100,,i=l,5 ) write(5,1105) ((SIG(1)-dia)/SIG(1))* 100., ({(SIG(I + 1)~ DIS26(i+1))/Sig{i+l))*100.,i=l,5 ) formatC Проц. уяуч {(станд)-(спец)/(стан)} %=>',/, 6fl2. 3) . close(unit=5) open (unit-5,file=,alf_op_s*,status"'old') ko_sig=abs( sig_2_df)/ sig_2_df write(*,316) (r(ko,l)+tpro),(r(ko,l)+tpro)/5400.,al_opr,al_oprl /,ko_sig,sig(1),dia,((sig(l)-dia)/sig(1))U00. write(5,316) (r[ko,1)+tpro),(r(ko,1)+tpro)/5400.,al_opr, /al_oprl,ko_sig,sig(l) ,dia, ((sig(1)-dia)/sig(1})"100. 316 format ('al_cp \ f 9.1, 3f7 .3, i7, f 10. 6, f 10. 6, f 9.2) close(unit=5) ALFA = al_op callGl_(alfa,beta,znak,KO,KOZN,rlozz,it_Gl_) do 172 i=l,6 172 rvnev(i) = rvist(i)-rlozz(i) WRITE(*,7 05) (rvist(ji),ji=l,6},(rlozz(ji),ji=l,6) /, (rvnev(ji),ji=l, 6) 705 format (' после Gl_ rvist,rl02Z,rvnev= ',/,6gl6.8,/,6gl6.8,/, /6fl6.8) rnevmnk=abs(rnom(ko+l,2}-ozz(ko+1,2)] rnevdob=abs(rnom(ko+l,2)-rlozz(1)) rnev=abs{ozz(ko+1,2)-rlozz(1)) write(*,185) ozz(ko+1,2), rlozz(1),rnevmnk,rnevdob,rnev 1B5 formate после Gl_ gzz(ko+1,2), rlozz,= ',/,2f21.8,/,'rnevmnk,rnevdob,rnev= ', 3 f 21. WRITE(*,601} (ozz(ko+1,1+ji),Rlozz(ji), ozz(ko+1,1+ji)-RIOZZ(ji),rvist(ji)- RlOZZ(ji),ji=l,6) 601 format (' после Gl_ ozz,RIOZZ, ozz-rlozz, rvist-rlozz= 1,/,6(4 920 ozz(ko + 1 , 1+i) - rlozz(iJ r_oz=0 R_OTK=0 do 448 i-1,3 R_OTK " R_OTK + (RlOZZl(i)-rlOZZ(i))**2 448 r~oz " r_oz + (rvist(i)-rlozz(i))**2 Г oz = sqrt(r_02) r_OTK=sqrt(r OTK) WRITE(*,702) IT_G1_ 702 format {1 после Gl_ IT_G1_= ',14) WRITE(*,701) (rvist(ji), ji-1,6) , (rlozz(ji),ji=l,6),r_oz,R_OTK 701 format (' после Gl_ rvist,rlozz,r_oz,R OTK= ', /, 6gl6.8,/,6gl6.8,/,2fl9.7) do 921 i-1,6 о доработка для второй итерации Gl_ 921 R10ZZ1 (i}=rlozz|i) iff r_otk .LT. e ) goto 111 if( it_Gl_ .eq. 21 ) goto 111 i.t_Gl_ - it_Gl_ + 1 goto 666 111 continue с вычисление rozen () уточненной {) траектории do 320 i-1,6 320 rv(i}=oaz(ko+ 1 ,1+1) do 310 i=l,6 310 ROZEN ( ko , i + 1 } = rv (i) ROZEN ( ko ,1 ) = t t=ozz(ko+1,1} do 40 k - kozn , ko tv = r ( ko + kozn - k , 1 ) call progSt(tv,t,rv,rva,u,h,ndate,nskid,ng,fsbal) do 30 i-1,6 ROZEN ( ko + kozn - k F 1 ) = tv 30 ROZEN ( ko + kozn - k , i + 1 ) = rv(i) t=tv 40 continue С вЫЧИСЛЕНИЕ КвАДРАТОв НЕвЯЗОК С вЕКТОРАМИ ИЗМЕРЕНИЙ 5.09.02 KI-K0-K0ZN+1 do 302 L=1,KI do 302 1=1,6 302 REE(6*(L-l)+I)=ROZEW(KOZN+L-1,1+1)-R{KOZN+L-1,I+l) DO 301 LF=1, (KI*6) 301 REM2 = REM2 + REE(LF)**2 REM2 = SQRT(rem2) с Прогноц оценки с доработка if(ko.eq.l6) koo - 16 iffko.lt.16) koo -ko+1 с для tnpor do 444 i=l,6 rvv{i)-rvistpr(i) vg{i)= ozz( koo ,i+l) - rvistpr(i) rozen (koo,i+1} - ozz( koo , i+1) 444 rnom (koo,i+1} = rvistpr(i) t=r(ko+1,1) call GS_OCV{0,T,RVv,VG,VO) WRITE (*,341) t, {rw(ji) ,vg(ji),vo(ji), ji=l, 6) 341 format (' t -rvv vg vo',g24.9, 6{/3g24 . 9)) do 440 k=kozn,koo RADIOS1 = 0. RADIUS2 - 0. RADIUS3 =0. ry - 0. vx = 0. vy = 0. vz = 0. do 340 i-1,1 RADIUS1 = RADIUS1 + ( rnom(k,i+l) - R(k,L+l) }*+2 RADIUS2 = RADIUS2 + ( rnom(k,i+l) - ROZEN(k,i+1} )**2 RADIUS3 = RADICJS3 + ( rnom(k,i+2) - rozenfk,i+2) ) **2 vx= vx + ( rnom(k,i+4) - rozen(k,i+4) ) **2 vy- vy + ( rnom(k,i+5) - rozen(k, i+5] ) **2 vz= vz + ( rnora(k,i+6) - rozen(k,i+6) ) **Z 340 ry- ry + ( rnom(k,i+3) - rozen(k,i+3) ) **2 radotk(k,1) = SQRT(RADIUS1) * 1000. radotk(k,2) = SQRT(RADIUS2) * 1000. radotk(k,3) = SQRT(RADIUS3) * 1000. ry - SQRT(ry) * 1000. vx = SQRT(vx) * 1000. vy = SQRT(vy) * 1000. vz = SQRT(vz) * 1000. 440 continue otkvt = rnom(koo,i+1) - ROZEN(koo,i+1) otkvt = ABS(vg(l)*1000.) open (unit=4,file=*radot') WRITE(4,300) ( WRITE(2, 240) (RADOTK(kk,l),RADOTK(kk, 2) , RADOTK(kk,3),KK=KOZN,KOo) format (fl2.2,' ',?12.2,' \fl2.2) close(unit=2) open (unit=2, file=,dr0_dob1) WRITE(2,241) RADOTK(koo,2),RADOTK(koo, 3},гу,vx,vy,vz,REM2 format (3f13.2,3f12.6, f8.2) close(unit=2J do 37 k=l,6 osch(k)-rvist(k)-r(ko+1, k+1) 37 rvnev(k)=rvist(k)-ozz(ko+1,k+1) srvnev=sqrt(rvnev(l)**2+rvnev(2)**2+rvnev(3)**2) sosch=sqrt(03ch(l)**2+osch{2)**2+osch{3)**2) write(3,50)kip,ozz(ko+1,1),(rvnev(i),i=l,6), /(022(ko+1,ji+1),ji-1, G) write(*,50}kip,ozz(ko+1,1),(rvnev(i),i=l,6), /(ozz(ko+1,ji+1},ji-1,6) 50 formatC КОНЕЦ вариант ->',13,' время >',fl2.3,/, /' НЕвЯЗКА rvist-ozz; ozzo,/6fl3.6/6f13.6) write(*,155) write(3,155) 155 formate КОНЕЦ в ГСК №K =>',/, Г rvist , г , ozz , rvnev=rvist-ozz , rvist-r,rvistpr-rvpoz' /) write (*,150}rvist(ji},r(ko,ji+1) ,ozz(ko+1, ji+1),rvnev(ji),/osch(ji),atkpr(kip,ji},ji-1, 6) write(*,151) srvnev,305Ch write(3,150) (rvist {ji),r(ko+1,ji+1),ozz(ko+1, ji+1) , rvnev(j i}, /osch(j i),atkpr(kip,j i), ji-1,6} write(3,151) srvnev,sosch 151 formate srvnev, sosch= \2fl8.6) 150 format (3f 14 . open (unit=4,file='ozenk_w3*) write(4,1100} (ozz(koo,i },i=l,7) HOC format (7(g20.7/),' оценк из mnk_ws2') write(3,950) (ozz{koo, ji),ji-1,7) write(*, 950) (ozz(koo, ji),ji=l,7} 950 formate оценк из ozenk_ws2',7f11.5) goto BB8 open (unlt=2,file='dr0_kal.nu') do 1320 i=l,G 1320 rv(i}=ozz(ko,i+1} do 1310 ii=l,6 1310 ROZEN ( ko , ii + 1 } = rv (ii) ROZEN ( ko ,1 ) - t t=ozz(ko,1) do 140 k = kozn , ko -1 tv = r ( ko + kozn - k - 1 , 1 } call prog$t(tv,t,rv, rva, u,h, ndate, nskid,ng,fsbal) do 130 il=l,6 ROZEN { ko + kozn - k - 1 , 1 ) - tv 130 ROZEN ( ko + kozn - k - 1 , il+1) = rv(il) t=tv 140 continue 1 с Прогноц оценки call prooz (tpro,kip, ko,rvpoz) if(ko.eq,16) koo = 16 if(ko.lt.l6) koo = ko + 1 do 443 i-1,6 rozen (koo,i+1) = rvpoz(i) 443 rnom (koo,i+1) = rvistpr(i} do 1440 k=kozn,koo RADIUS1 = 0. RADIUS2 = 0. RADIUS3 =0. do 134D i=l,6 RADIUS1 - RADIU51 + ( rnom(k,i+l) - R(k,i+1) } **2 RADIUS2 - RADIUS2 + ( rnom(k,i+l) - ROZEN(k,i+1} )**2 1340 RADIUS3 = RADIUS3 + { r{k,i+l) - rozen(k,i+l) }**2 radotk(k,1) = SQRT(RADIUS1) * 1000. radotk(k,2) = SQRT(RADIUS2) * 1000. radotk(k,3) = SQRT(RADIUS3) * 1000. 14 40 continue koll-ko-kozn+1 koll=ko-kozn+2 WRITE(2,239} KOo WRITE(2,240) (RADOTK(kk,1),RADOTKЈkk, 2).RADOTK(kk,3),KK-KOZN,KOo) close (tmit=4) close(unit=2) 18 continue if(nprog.EQ.2} goto 888 nprog-2 888 close(unit=3) stop end subroutine rakmnk_w{kizm,kozn, epsol,np,kol,it_Gl } implicit real*8(a-h,o-z) cowmon/c4/hfdt(6r96), POP(6) common/c3/rvist(6),rvistpr(6) common/stat/atkpr (100, 6) ,atk (100, 6) ,woz (100, 6}, ажШОО, 6) COMMON/CONST/AM,DMU{6, 6) ,DX(6,6),WOS(6) common/c/r(16,7),hf{96, 6}, ozz(16,7),roz(16,7) common/newz/c(96) соштоп/sigl 6/sig(6) dimension HOSI(6,6),RE{96),rvnev(6),VO{6),RVG(6} NITER-1 NIT0=1 M0BR=1 if( it_Gl_ .ge. 2 ) NOBR=2 HOZZ=l REM1 = -100. KI - KIZM - KOZN + 1 do 9 lp=l,6 9 pop(lp}-0. call PROGOZE[KIZM,kozn,NOZZ) с вычисление баллистических производных write(*,7) np 7 formate выч. бал. матрицы вариант ->',i2) k=0 55 call WIHROZ{kozn, kizm,NOZZ,NOBR) IF{NQBR.EQ.1} call DAL(KIZM,kozn,np) с вычисление кор мат ошибок оценки по выборке k-1 ( HF(96,6) ) call MATOS(HOSI,KOZN,KIZM) с Прогноз оценки с вычисление матрицы ошибок вычисление оценки call OEENMNK(HOSI,KIZM,KOZN,it Gl_) do 28 k=l,6 RVG{K)"ROZ(KISM+1,K+1) 28 rvnev(k)=rvist(k)-roz(KIZM+1,k+1) write(3,59) (RVNEV{JI),JI=1,6) write)*,59) (RVNEV(JI) , JI=1,6) 59 formatC НЕвЯЗКА в ГСК ПЕР. ПРИБ. И НОКИН.1,/6f9.4) CALL GS OCV(0,R{KIZM,1),RVKEV,RVNEV,VO) write(3~52) (VO(JI) , JI=1,6) write(*,52) (VO{JI),JI=1,6) 52 formate НЕвЯЗКА в ОСК ПЕР. ПРИв. И НОМИН.o,/6f9.4) write(3,52) (VO(JI), JI=1,б) do 2 L=1,KI+1 do 2 1=1,6 2 RE (6*(L-l)+I)=R02(KOZN+L-l,1+1)-R(KOZN+L-l, 1+1) do 27 K=1,6 RVG{K)=ROZ(KIZM+1, K+1) 27 rvnev{k)=rvist(k)-ozz(KIZM+1,k+1) write(3,61) (RVNEV(JI),JI-l,6),ro2 write(*,61) (RVNEV(JI),JI=1,6),ro2 61 formate НЕвЯЗКА в ГСК ОЦЕНКИ И НОМИН.',/6f9.4,f13.4) CALL GS_OCV(0,R(KIZM+1,1),RVG,RVNEV,VO) ro2=sqrt(vo(1)**2+vo(2)**2+vo(3)**2) write(*,51) (VO(JI),JI=1,6),ro2 51 formatC НЕвЯЗКА в ОСК ОЦЕНКИ И НОМИН.*,/6f9.4,f13.4) write(3,51) (VO{JI) , JI=1,6),ro2 do 33 nk=l,3 33 atk(kol,nk)=vo(nk) REM2=0. DO 30 LF-1,96 0 REM2=REM2+RE(LF)* * 2 REM2-SQRT(REM2) REM-ABS(REM1-REM2) REM1-REM2 WRITE(3,89) REM2,REM WRITE(*,89) REM2,REM 89 FORMAT { 1 СУММА КвАДРАТОв ОТКЛОНЕНИЙ -\F13.6,/, /' ИЗМЕНЕНИЕ вЕЛИЧИНЫ СУММЫ КвАДРАТОв = ',F10.6) if( REM .LT. EPSOL) go to 4 if.( NITO .EQ. 1 ) go to 4 if( MITER .EQ. 1) go to 44 С КОРРЕКЦИЯ WRITE(3,7 9) NITO,NITER WRITE{*,79) NITO,NITER 79 FORMATC NITO,NITER НОМЕР вНЕШ. И вНУТ. ИТЕР.= ',213) NITER = NITER + 1 NITO - NITO + 1 NOBR=2 goto 55 niter=l do 13 J=l,7 13 ROZ(KIZM+1,J)=OZZ(KIZM+1, J) NOBR=l NITO=NITO+1 GOTO 55 do 45 ki=l,6 SIG(ki)=sqrt(hosi(ki,ki)) С КОРРЕКЦИЯ WRITE(3,19) sig{l),sig(2),sig (3) WRITE(*,19) sig(l),sig(2),sig(3) 19 FORMATC SIG x,y, 2=', 3F13 . 7) WRITE(*,302) {с(ji) , ji-1,6*(kizm-kozn+l)] 302 format (' в REKMNK_W c=',6gll.5) continue return end BLOCK DATA implicit real*8(a-h,o-z) common/cl/pog{6) common/c4/hfdt{6,96),POP(6) COMMON / GEO / AMU,RE,OMZ,ALF,AJ2,AJ4 ПрИЛОЖ.- в
COMMON/CONST/AM,DMU(6, 6),DX(6, 6),WOS(6> common/aeons 1/ayy, azz common/STAR/ALT common/am3/am35,am36,am37 data am35,am36, am37/34359738368. dO, 68719476736.dO, /137438953472.dO/ DATA AM,ALT/0.01, 1.001/ DATA WOS/1.,1.,1.,0.1,0.1,0.1/ DATA pog/0.01666666, 0.01666666,0.01666666, /1.666666d-5,1.666666d-5,1.666666d-5/ DATA DMU/3600.,0.,0.,0.,0.,0., 0.,3600.,0.,0.,0.,0., 0.,0.,3600.,0.,0.,0., 0.,0.,0.,3.6d+9,0.,0., 0.,0.,0.,0,,3.6d+9,0., 0.,0.,0.,0.,0.,3.6d+9/ DATA DX/2.77777777d-4,0.,0.,0.,0.,0. , 0.,2.77777777d-4,0.,0.,0.,0., 0.,0.,2.77777 777d-4,0.,0.,0., 0.,0.,0.,2.7777777d-10,0.,0., 0.,0.,0.r0.,2.7777777d-10,0., 0.,0.,0.,0.,0.,2.7777777d-10/ DATA azz/0.34359737368d+ll/ It ,ayy/0. 10123456789d+ll/ DATA AMD / 398600.5D 0 / If , RE / 6378.140D 0 / If , OMZ / 7.292115D-5 / , ALF / 3.352824419290810D-3 / , AJ2 / -1082.634796598096D-6 / , AJ4 J 1.608D-6 / DATA AM/0.01/ END SUBROUTINE WIHROZ[kozn, kizm,nvar,NOBR} implicit real*8(a-h,o-z) common/c3/rvist(6),rvistpr(6) common/otlad/npeh, h,ng, nskid common/parsbe/sbal № common/paratm/sun!2) ,ap, fl,fsh,pr,natm,ndate(3) common/c/r(16,7),hf{96,6),OZZ{16,7),roz(16,7) dimension rvg{6),RVA(6) external fsbal IF(N0BR.EQ.2)GOTO 88 natm=l if(nvar.eq.2} goto 131 do 12 1=1,7 roz(KIZM+1,1)=R02(KIZM+1,1) 8в CONTINUE do 22 i=kozn,kizm t=r(KIZM+KOZN-i+1,1) tv=r(KIZM+KOZN-i,1} do 13 m=l,6 tv=г(KIZM+KOZN-i,1} rvg (m) = roz {KIZM+KOZN-i +1,m+1} call prog$t(tv,t, rvg, rva, U,H,ndate,nskid,ng,fsbal) do 14 n=l,6 14 roz(KIZM+KOZN-i,n+l}=rvg(n) roz(KIZM+KOZN-i,l)=r{KIZM+KOZN-i,1) 22 continue go to 21 131 continue do 1 1=1,7 1 roz(kozn,1)=ozz{kozn,1) do 2 i=kozn,kizm-1 t=r(i,l> tv=r(i+l,1) do 3 m=l,6 rvg(m)=roz(i,m+l) call prog$t{tv,t,rvg, rva,U,H,ndate,nskid,ng,fsbal) do 4 n=l,6 roz(i+l,n+l)=rvg(n) roz[i+1,1)=r(i+1,1) 2 continue 21 write(*,52) ((rOZ(kk, ji),ji=l, 7),kk=kozn,kIZM+1) 52 formate вЕКТОРА ROZ WIHROZ ->',16{/7(fll.3))) return end
SUBROUTINE BAL(KIZM,kozn,NPRIZ) implicit real*8(a-h,o-z) dimension A(6,6), в{6, 6) ,C(6, 6), ro(6),rvg(6),RVA(S),RVAO(6} /,D(6,6) common/cl/pog(6) ^ common/с/r[16,7),hf(96,6),OZZ(16,7),roz{16,1) common/otlad/npeh,h,ng,nskid common/STAR/ALT common/parsbe/sbal COMMON/CONST/AM,DMU(6,6),DX(6,6},W03(6) common/paratm/sun(2) , ap, f1, fsh,pr, natrn,ndate(3) common/wesa_os/ABC_T(6),ABC{6} dimension VESO(6,6),VESG(6,6) external fsbal IF(NPRIZ.EQ.l) goto 7 IF(NPRIZ.EQ.2) goto 77 IF(NPRIZ.EQ.3) goto 7 77 7 continue ALTK=1. do 8 L=l,kizm-kozn+1 do 9 i=1,6 9 RVG(I)=ROZ{KIZM+ 1,1+1) t-R{KIZM+ 1,1) tv=R(kozn+L-l,1) if(npeh.eq.1)write(+,213) t,tv,(RVG(kl),kl=l,6) 213 formatC выч бл ло прог-'^аЮ.З/(6fl2.5)) call prog$t (tv,t, rvg, rva,U,H,ndate,n3kid,ng,fsbal) do 11 i-1,6 11 ro(i)=rvg(i) if(npeh.eq.1)write(*, 112) t,tv,(ro(kl),kl=l,6) formatC выч бл после прог', 2f20. 7/(6f 12.5) ) do 13 j=l,6 do 14 m-1, 6 14 rvg(m)=ROZ(KIZM+1,m+1) WOS(j}=pog(j1/3, rvg(j)=rvg(j)+wos{j) t=R(KIZM+l,1) tv=R{kozn+L-1,1) call prog$t(tv,t,rvg, rva,U,H,ndate,nskid,ng,fsbal) do 16 i-1,6 16 hf(6*(L-l)+i,j)=ALTK*(rvg(i)-ro(i)J/wos{j) ALTK=ALTK*ALT 13 continue 8 continue goto 20 77 ALTK=1. do 99 n=l,KIZM-KOZN 99 ALTK-ALTK * ALT с дораб Тпрог do 319 i-1,6 319 RVG(I)=R0Z(kizm+1,1+1) t=R{KIZM+1,1) tv=R(KIZM,1) call prog$t (tv,t,rvg, rva,U,H,ndate,nskid,ng,fsbal) do 811 1=1,6 811 ro (i)=rvg{i) do Э13 j=l,6 do 814 m=l,6 M 814 rvg(m)=ROZ(KIZM+1,M+1) WOS (j )=pog (j) /10. rvg (j) =rvg (j ) +wos (j ) t=R(KIZM+l,1) tv-R(KIZM,1) call prog$t(tv,t, rvg, rva,U,H,ndate,nskid,ng,fsbal) do 816 i-1,6 816 A(i,j)=(rvg(1)-ro(i))/wos(j} 813 continue do 27 kl=l,6 do 27 k2=l,6 27 hf(6*(kizm-kozn)+kl, k2)=A(K1,K2) с дораб Тпрог do 118 L=l,kizm-kozn ALTK=ALTK/ALT do 17 kl=l,6 do 17 k2=l,6 17 в(kl,k2)=HF(6*(KIZM-KOZN-L+1> +kl,k2) do 19 i-1,6' 19 RVG(I) =ROZ(kizm-L+1,1 + 1) t=R(KIZM-L+1,1) tv=R(KIZM-L,1) call prog$t(tv,t, rvg,rva,U,H,ndate,nskid,ng,fsbal) do 111 i=l,6 111 ro(i)=rvg(i) do 113 j=l,6 do 114 m=l,6 114 rvg(m)=ROZ(KIZM-L+1,M+1) WOS(j)=pog(j)*3 rvg(j)-rvg(j)twos(j) t-R{KIZM-L+1,1} tv=R(KIZM-L, 1) call prog$t(tv,t,rvg,rva,U,H,ndate,nskid,ng, fsbal) do 116 i=l,6 116 A(i,j) = (rvg(i)-ro(i))/wos (j) continue CALL DGMPRD[А,в,C,6,6,6) DO 51 11=1,6 DO 51 12=1,6 51 HF(6*(KIZM-KOZN-L )+11,12)=C(II,12) 118 continue goto 20 777 do 37 kl-1,6 do 37 k2=l,6 hf(6*{kizm-kozn)+kl,k2)=0. 37 hf(6*(kizm-kozn)+kl, kl)=1. do 38 L=l,kism-kozn do 47 kl=l,6 do 47 k2-l,6 47 в(kl, k2)=HF(6*(KIZM-KOZN-L+1)+kl,k2) do 29 i-1,6 29 RVG(I)=ROZ(kizm-L+l,1+1) ) t=R(KIZM-L+1,1) tv=t call progSt(tv,t,rvg,RVAO,U,H,ndate,nskid,ng,fsbal) t=R(KIZM-L+1,1) TV=R(KIZM-L,1) call prog$t{tv,t,rvg,RVA,W,H,ndate,nskid,ng,fsbal) t-R(KIZM-L+1,1) TV=R{KIZM-L,1) call MP(t,RVAO,tv,RVA,A) CALL DGMPRD (А, в,C, 6, 6, 6) DO 71 11-1,6 DO 71 12=1,6 71 HF(6*{KIZM-KOZN-L)+11,12)=C(II,12) 38 continue С ДОРАБОТКА ДЛЯ тут нужен вес для перевода в из а ОСК 20 do 79 1=1,6 t* veso{i,i)=abc T(i) 79 rvg(i) = r(kizm+1,1+i) t-r(kizm+1,1}~" call OCKGCK(T,RVG,VESO,VESG) DO 371 11=1,6 DO 371 12=1,6 371 HF(6*(KIZM-KOZN+ 1 )+11,12 J =vesg(II,12) Ki-(KIZM-K0ZN+ 2 )*6 IF(NPRIZ.NE.2) GO TO 87 DO 57 JJ=1,6 DO 57 11=1,6 57 B{JJ,II)=HF(JJ, II) CALL NCAG[TO,NDATA,1,A) CALL DGMPRD(в,A,C,6,6, 6) CALL NCAG(T, NDATA,2,D) CALL DGMPRD(D,С,B,6,6,6) 87 return end SUBRQUTINE EROGOZE ( KI ZM, ko zn , И V AR) implicit real*8(a-h, o-z) COMMON/CONST/AM,DMU(6, 6) ,DX(6,6) ,W03 (6) common/otlad/npeh,h,ng,nskid common/еЗ/rvist(6),rvistpr(6) cornmon/c4/hfdt(6,96},POP(6) common/c/r(16,7) ,hf(96,6),ozz(16,7),roz(16,7) dimension rvg(6),rva(6) external fsbal write(*,39) kizm,nvar 39 format{* ПДЦМ в 3 l',2[i5)) IF(NVAR.EQ.2) GOTO 5 roz(kizm+1,l)=r(kizm+1,1) do 17 j-1,б с проверка коррекция 17 roz(kizm+1,j+1)-г(kizm+1,j+1) GO TO 8 5 continue DO 6 1-1,6 6 RVG(I}=0ZS(KOZN,I+l) tv=R(KIZM,1) t=R(KOZN,1) CALL PROGST(tv,t, RVG,RVA,U,H,NDATE,NSKID,NG,FSBAL) do 7 j=l,6 7 roz(kizm,j+l)=rvg(j) roz[kizm,1)=TV 8 write{*,178) [rOZ(KIZM+1,kl), kl=l, 6) 178 formate в PROGOZ ROZ () *, (/ 6f 12. 5) ) continue return end SUBROUTINE OZENKNK(HOSI,KIZM,KOZN,it_Gl_) implicit real*8(a-h,o-z) COMMON/CONST/AM,DMU(6,6),DX(6,6),WOS(6> common/c/r(16,7) ,hf(96,6},ozz(16, 7), roz(16,7J common/c4/hfdt(6, 96),P0F(6) common/otlad/npeh,h,ng,nakid common/newz/с(96) dimension A (6),B(6),HOSI(6,6),RVDOB(6),RVG(6),vg(6),vo{6),rv ( 6} if(npeh.eq.1)write(*,7) {г(kizm,JJ+1),JJ=1,6) 7 formate 5 1 выч оцен DMPRV ИЗМЕРЕНИЕ r',/6F13.6) K=KIZM-KOZN+l K6=K*6 do 1 L=1,K do 1 1=1,6 1 С(6*(L-l)+1}=R(KOZN+L-1,I+l)-ROZ{KOZN+L-1,I+l) do 33 ki-1,6 vg(ki)-roz[kizm+1,ki+1)/637800. 33 rv(ki)-r(kizm+1,ki+1) t=roz(kizm+1,1) call GS_0CV(0,T,RV,VG,VO) do 111 1=1,6 111 С(6*K+I)=vo(i) write(3,57) (C(JO),JO=l,K6+6} write(*,57) (C(JO),JO=l,K6+6) 57 format(1 C()',/16(/6f12.6)) K66-K6+6 CALL PRMV(K66,С,B) call DMPRV(HOSI,B, A, 6, 6} WRITE(*,30) (A(JJ) , JJ=1, 6) 30 FORMAT(' в 5 HOSI*D*(r-roz) ',/6f13.6) do 221 1=1,6 221 RVG{I)=ROZ(KIZM+1,I+l) CALL GS_OCV(0,ROZ(KIZM+1,1),RVG,A,RVDOB) ro2=sqrt(RVDOB(1)**2+RVDOB(2)**2+RVD0B(3)**2) OZZ(KIZM+l,1)=R(KIZM+1,1) DO 17 LI=1,6 17 B(LH=A{LI) WRITER,31) (POP (JJ) , JJ=1,6) 31 FORMAT (1 в 5 ПОПРАвКА -',/6^3.6) DO 37 LJ=1,6 37 POP(LJ)™A(LJ) som=l, if{ it_Gl_ .go. 2) som=0. do 5 J=2,7 5 OZZ(KIZM+1,J)=R0Z(KIZM+1,j)+som+B(J-1) 0ZZ(KIZM+1,1)=R(KIZM+1,1) WRITE(34) (B(JJ),JJ=1,6) 34 FORMATe в 5 ДОБАвКА =',/6fl3.6) write(*,4) 4 formate 5 3 выч оцен END') WRITE(*,302) (c(j1),ji=l,6"(kizm-kozn+1)) 302 format (' c=a OZENMNK*,6gll.5) return end SUBROUTINE MATOS(HOSI,KOZN,KIZM) implicit real*8(a-h,o-z) Integer L,M COMMON/CONST/AM,DMU(6, 6),DX{6,6),WOS(6) common/c/r(16,71,hЈ(96,6),ozz{16,7) , roz116,7) common/otlad/npeh,h,ng,nskid common/c4/hfdt(6, 96) ,POP(6) common/wesa os/ABC T(6),ABC(6) dimension HFD{96,6},HOSI(6,6),L(6),M(6) KO-KIZM-KOZN+2 MK-K0*6 do 1 1=1,MK do 1 J-1,6 1 HFD(I,J)=HF(I, J) if(npeh.eq.1)WRITE(*,32) ((HFD(JJ,II), I1=1,6),JJ=1,6) FORMATC в MATOS HFD ',6(/6dl3,6)) DO 3 JT-1,MK DO 3 IT=1,6 3 HFDT(IT, JT)=HFD (JT,IT) if(npeh.eq.l) WRITE(*,33) {(HFDT(JJ,II),11=1,6),JJ=1,6) FORMATC Б 2 1 HFDT ТРАНС', 6 (/6dl3, 6) ) с доработка do 11 ki = 1 , 6 do 11 kj = 1 , 6 11 DMU(ki,kj) - DMU(ki,kj) * abc(kj) call prddmu(KIZM,KOZH,hfdt) 36 FORMATC в 2 1 HFDT ТРАНС УМНОЖ HA DMO', 6 (/5dl3. 6)) if(npeh.eq.1)WRITE(*, 36) ((HFDT(JJ,II),11=1,6), JJ=1,6) call PRD{MK,HFDT, HFD, HOSI) if(npeh.eq.l)WRITE(*,34) ((HOSI(JJ,II),11=1,6),JJ=1,6) FORMATC в 2 1 HOSI ПРОИЗвЕДЕНИЕ HFDT,HFD', 6(/6dl3.6)) call DMINV(HOSI,6,D,L,M) WRITE(35)((HOSI(JJ,II),11=1,6),JJ=1,6) FORMATC в HOSI (конец) ОБРАТНАЯ',6(/6dl3.6)) return end Programm МШС_рвгуля С МОДУЛИ P E ГУЛ Я РИЗИ РУОЦЕЙ ПРОГРАММЫ SUBROUTINE G1 (alfa,beta,znak,КО,KOSN,roaz,it__G1_ ) с вымисленме первой компоненты вектора оценки G1 * специального с вида на момент времени t* с коэффициент alfa только справа с доработка итерации до 3-х it_Gl_ в Gl_ с самый правильный вариант С с доработанный вариант с правильной дисперсией при alfa=0 с и знаком минус (-) при FI1L_F1 С ДОРАБОТКА ДОМНОЖЕНИЕ вТОРОГО ЧЛЕНАПРИ ALFA НА DM0(1,1) implicit real*8(a-h,o-z) common/cl/pog (6) common/c4/hfdt(6,96) , POP(6) common/c/r(16,7),hf(96,6),ozz(16,7),roz(16,7) с матрица перехода hf_obr(96,6) между t* и ti i=l,k COMMON/CBALOB/HFOB(96, 6) COMMON/CONST/AM,DMU{6,6),DX(6,6),WOS(6) common/newz/c(96) common/gg/gli(16), gli_(16),FlTFl(16) DIMENSION E(5),A(5,5),B(5),d(5),Cl(5),C2(5),X(6,96) DIMENSION ROZZ(6), FF(6) open (unit-5, file=1alf_bet1,status='old') read(5,106} alfaa_,betaa_,znakk_(znk al,znk_g 106 format (g20.7) write(*, 105) alfa,beta,гпак,znk_al, znkjj 105 format С alfa,beta, znak,znk_al,znk_g=',5f20.7) close(unit=5) ко = ko if( it_Gl_ .It. 2 ) call balob(ко,когп) DO 3 JT=1,6*(KO-KOZN+l) DO 3 IT=1,6 3 X(IT,JT)=HFOB(JT,IT) С ДОРАБОТКА ДОМНОЖЕНИЕ вТОРОГО ЧЛЕНА ПРИ ALFA НА DMU(1,1) DO 10 IK=1, KO-KOZN +?- 1 FlTFl (IK) =0. С доработка обнуление члена в HFOB{l,l)> С FF(1) = 0. DO 12 LO=l,6 12 FF(LO) = HFOB(6*(IK-l)+l,LO) DO 11 L0=1,6 11 FlTFl(IK) = FlTFl(IK) + FF(LO)*FF(LO)(LO,LO) С ДОРАБОТКА / SIGP - DNU(1,1) С ДЕЛЕНИЕ HA DX(1,1) НОРМИРУЮЩЕГО КОЭФ FlTFl(IK) = sqrt( FlTFl(IK)/DX(1,1) ) 10 CONTINUE write{*,15) 0 WRITE(*,302) (c(ji),ji=l,6*(ko-kozn + 2 )) с обращение к подпрограмме вычисления gl{i) > (gli(16,7)) call agli(ko,kozn) write(*,15) 1 15 formatC в Gl_ ШАГ =>41) с обращение к подпрограмме вычисления gl_(i) > (gli_(16,7)) call agl_i(ko, kozn) WRITE(*,309) (FlTFl(JI),ji=l,16) 309 format {o F1TF1= ',6gl2.6) write(*,15) 2 GG=0. ALFN=0. DO 1 IK=1,KO-KOZN + 1 ALFN=ALFN + FlTFl(IK) С тут ЕЩЕ УМНОЖИТЬ НА DMU(1,1) 16. минус > знаки минус - на + перед alfa 1 GG = GG + (BETA * Gil(IK) + znk g* ALFA* DMU(1,1) * Gil (IK)) CALL Fll_I(Fll,ko,kozn) K=KO-KOZN+l с обращение к подпрограмме вычисления Е call E_vek(E,ko,kozn) call А_МАТ(А,ko,kozn) call C_VEK(B,ko,kozn) call D_VEK(D,ko,kozn) call DMPRV (A, B, CI, 5, 5) call DMPRV (A, D, C2, 5, 5} EA1C=0. EA1D=0. WRITE(*, 300) (cl(ji),c2(ji),B(ji),d(ji),ji=l,5) format (' cl= \gl2.6,' c2= \gl2.6,' B= \gl2.6,' d= ',gl2.6) WRITE!*,301) (ia(kl,ji),ji=l,5),kl=l,5) format С a= o,/,5(gl4.6)) WRITE(*,302) (c(ji),ji=l,6*(ko-kozn + 2 )) format С c= \6gl2.6) WRITE (*, 372) (FlTFl (ji.), ji=l, 6* (ko-kozn + 2 )} 372 format С F1TF1- \6gl2.6) DO 1 1-1,5 EAlC = EAlC + E(I)*C1(I) EA1D = EA1D + E(I)*C2(I) WRITE(*,151} write(*,155) GG ,BETA, EAlC, / beta, Fll, beta, EAlD,alfa,ALFN 151 format<1 в Gl_ ->',/,' ( GG - beta * EAlC} / ',/, /' [ beta * Fll} - beta * EA1D + znk_al*alfa* ALFN ',/) format(3gl4.8,/,5gl2.6,gl3.3) R1NEV= znak*(GG - BETA * EAlC) С / /(BETA + Fll - BETA * EA1D + znk_al * 1. * К * 1. )C DMU(1,1} минус > - С 2 знаки минус - на + перед alfa / /(BETA * Fll - BETA * EA1D + znk_al * ALFA" К * dmu(l,l)) R10ZZ = ROZ(KO+1, 2} + R1NEV ~ write(*,156) rlnev,R10ZZ formatC в Gl_ => rlnev,R10ZZ => o, 2gl4 . 6) с вычисление комланент от Y,Z,Vx,Vy,Vz С A-l *С - A-l*D*q* с А-1*С - A-1*D*R100Z С А-1*С --> С A-1*D -> DO 91 L=2,6 91 ROZZ(L)= Cl(L-l) - C2(L-l)*R1NEV ROZZ(1)-RIOZZ WRITE(*,602} rlnev, (ROZZ(ji), ji=2,6> 602 format (' в Gl_ поправка ROZZ= ',/,6gl6.8) WRITE(*,600) (ROZ(ko+1,1+ji), ji=l,6) format С в Gl_ вектор оценки ROZ= ',/,6gl6.8) DO 71 L=2,6 71 ROZZ(L) = ROZ(KO+1,1+L) +ROZZ(L) WRITE(*,601) (ROZZ(ji),ji=l,6} format (' в Gl_ вектор оценки ROZ2*" ',/,6gl6.9) ko = ko return end SUBROtIT 1KB agli(ko,kozn) implicit real*8(a-h,o-z) common/c4/hfdt(6, 96),POP(6) common/c/r(16,7),hf(96,6},022(16,7),roz(16,7) с матрица перехода hf_obr(96,6} между t* и ti i=l,k common/gg/gli(16),gli_(16),FlTFl(16) common/newz/c(96) DIMENSION A(6),D(6) do 8 L=l,ko-kozn + 2 gli(L) - 0. do 22 jk=l,6 d(jk)-r(kozn+L-1,1+JK) d(jk) - C(6*(L-IJ+JK) 22 A(JK) - HFdt ( 1 ,6*(L-l)+ JK ) DO 33 IK=1,6 33 gli(L) = gli(L} + D(IK)*A(IK) write(*,303) (A(KL),KL-1,6) 8 continue 303 FORMATC в GlI,A-',6gl2.6) RETURN END SUBROUTINE agl i(ko,kozn) implicit real*8(a-h,o-2) common/c4/hfdt(6,96),POP(6) common/e/r(16,7} ,hf(96,6}, ozz(16, 7),roz(16,7) с матрица перехода hf_obr(96,6) между t* и ti i=l,k common/gg/gli(16) ,gli_(16),FlTFl(16) common/cl/pog(6} common/otlad/npeh, h, ng, nskid common/parsbe/sbal COMMON/CSALOB/HFOB(96,6) COMMON/CONST/AM,DM0 (6,6),DX(6,6},WOS(6) common/newz/с(96) common/paratm/sun(2),ap,f1,fsh,pr,natm,ndate(3) dimension rvg(6) ,RVA(6} external fsbal DIMENSION D(6),cp(96) DIMENSION CC{6) с тут нужно прогнозы векторов измерений на момент оценки t*c исправл на tnpor natm=l write(*,156) h,ng,ko 156 formate в aGl_i => h,ng,ko => *,gl4.6,2i4) do 212 i = kozn , ko+1 t=r(i,1) tv = r(ko+1,1) do 123 MC=1,6 123 rvg(MC)=r(i,MC+l) call prog$t(tv,t,rvg,rva,U,H, ndate,nskid,ng,fsbal) do 124 n=l,6 124 cp { 6*( i - kozn ) + n ) = rvg(n} - roz (ko+1, n+1) 212 continue do 8 LL=1, ko-kozn + 1 с тут нужно исправить на прогноз матрицы из tM3M a t* gli_(LL) - 0. do 122 JK=1,6 d(jk) - CP(6*(LL-1)+JK) CC(JK) = HFOB( 6*(LL-1)+1,JK) 122 CONTINUE DO 33 IK=1,1 gli_[LL> = gli_(LL) + D(IK) * 1. / FlTFl(LL) 33 continue write(*,303) (D(IK),IK-1,1} 8 continue 303 FORMATC б G1I_, D-', 6gl2.6} WRITE (304) (G1I_(LR) , LR = 1 , KO-KOZN +2) 304 format С в gli_,GlI_- 6gl2.6) WRITE(*,302) (gli_Jji),ji=l,ko-kozn+2) 302 format (' gli_= ',6gl2.6} RETURN END с подпрограмма вычисления вЕКТОРА Е subroutine Е vek(Е,ko,kozn) implicit real*8(a-h,o-2) cammon/c/r(16,7),hf(96,6),ozz(16,7),roz(16,7) common/c4/hfdt(6, 96), POP(6) dimension A(6),в(6},e(5) do 3 jk=l,5 e(jk) =0. do 8 L=l, ko - kozn + 2 do 7 K2 = l,6 7 а(K2) = HF(б*(L-l) + K2 , 1) do 6 k2=l,6 6 b(k2) - HFDT ( jk + 1 , 6*(L-l} + k2 } do 15 k2-l,6 15 e(jk} - e(jk) + a(k2)*b(k2) 0 continue continue return end с подпрограмма вычисления МАТРИЦЫ A-l
subroutine Л MAT(А,ко,kozn) implicit real*8 (a-h,o-z) eoinmon/c/r (16,7) ,hf(96, 6),ozz(16,7),roz(16,7)
dimension A(5,5),B(6),C(6) JK=1,5 do 3 common/c4/hfdt(6, 96), POP(6) dimension L(5),M(5) do 3 IK=1,5 A(jk,ik) = do 7 K2 = 1 , 6 JK) + k2 ) 1 , 6 A(jk,ik)=A(jk,ik) + AJI call DMINV(A,5,DD,L,M) do 8 LL = I , ko-kozn + 2 B(k2) = HF(6*(LL-1) + K2 , 1 + do 6 k2=l,6 6 C(k2) = HFdt( IK+1 , 6*(LL-1) AJI=0. do 15 k2 = 15 AJI = AJI + B(k2)*C(k2) continue 3 CONTINUE return end подпрограмма вычислении вЫЧИСЛЕНИЕ с subroutine С VEK(CC,KO.KOZH) common/newz/c(96) implicit real*8 (a-h,o-z) common/c/r(16,7) ,hf(96, 6),ozz(16,7),roz(16,7) common/cJ/hfdt{6, 96) ,POP(6)
CC(jk) = 0. dimension CC(5),B(6),X(6) do 3 jk=l,5 do 8 L = 1 , ko - kozn + 2 do 7 kl-1,6 7 B(K1) = HFDT (JK + 1 , 6* (L-l) +kl ) CC(jk) = CC(JK)+ CCC do 6 k2-l,6 6 X(k2) = С (6* (L-l)+ K2 ) CCC=0. do 15 k2 = l,6 15 CCC - CCC + B(k2)*X(k2) 8 continue 3 continue return end С подпрограмма вычисления D subroutine D VEK(D,ko,kozn) implicit real*8 (a-h,o-z) common/c/r(16,7) , hf(96,6),ozz(16,7),roz(16,7) common/c4/hfdt(6,96J,POP(6) dimension D(5),B(6) dimension С(6)
do 7 k2=l,6 D(jk) = 0. + K2 , JK + 1 ) 6 * (LL-1) + K2 do 15 k2=l, 6 в continue return end do 8 LL = 1 , ko do 9 k2=l,6 kozn + 2 9 ) 15 Djk = Djk + B(k2)*C(k2) do 3 jk=l,5 в(k2)=HF{6*(LL-1) C(k2) = HFDT(1, DJK=0 D(jk)-D(JK) +? DJK 3 CONTINUE с подпрограмма вЫЧИСЛЕНИЕ SUM Fll(i) subroutine Fll I(Fll,ko,kozn) implicit real*8 (a-h,o-z) common/c/r(16,7) ,hf(96, 6),ozz(16,7),roz(16,7) соштоп/с4/hfdt(6, 96), POP(6) dimension B(6),X(6) F11=0. do 8 L = 1 , ko - kozn + 2 do 7 kl=l,6 7 в(Kl)-HF(6*(L-l)+K1, 1) do 6 k2=l,6 6 X(K2)=HFDT(1,6*(L-l)+K2) FF-0. do 15 k2=l,6 15 FF = FF + B(k2)*X(k2) F11-F11+FF 8 CONTINUE CONTINUE return end FUNCTION FI X L(I,L,KO,KOZN) implicit real*8(a-h,o-z) common/c4/hfdt(6,96), POP(6) common/c/r(16,7),hf(96, 6), ozz(16,7),roz(16,7) с матрица перехода hf_obr(96,6) между t* и ti i=l,k COMMON/CBALOB/HFOB(96, 6) COMMON/CONST/AM, DMU(6,6), DX(6,6), WOS(6) common/FIL/FI1L_F1,FI1L,EA1FL, EA1D,Fill common/gg/gli(16), gli_(16), F1TF1{16) DIMENSION FF(6),D(5) F111=F11 call call A_MAT(A,ko, kozn) DO 1 11-1,5 DO 1 J=l,6 call D_VEK(D,ko,kozn) EA1=0. DO 4 J-1,5 EA1 - EA1 + E(J) * A(J,II) 3 EA(II) = EA1 DO 5 EA1C=0. DO 6 J=l,5 EAC(II) = EA1C call DMPRV(A,D,C2,5,5} DO 2 11=1,5 2 EAlD = EA1D + E(I1) * C2(I1) DO 10 IK=1,KO-KOZN+l обнуление члена в HFOB(1,1)> DO 12 LO=* 1, 6 12 FF(LO) = HFOB(6*(IK-1)+1, LO) DO 11 LO=l,6 DIMENSION E(5), A(5,5), C2(5) DIMENSION EA(5),EAC(6),С(5,6) 1 C(I1,J) DO 3 11=1,5 CALL F11_I( Fll, KO, KOZN ) E vek(E,ko,kozn) 11=1,6 = HFDT( 11+1 , 6*(I-1)+J ) EA1FL=EAC(L) EA1C я EA1C + EA(J) * C(J,II) FlTFl(IK)-O. FF{1) EAlD=0. U FlTFl(IK) =o FlTFl(IK) + FF(LO) * FF(LO) * DX(LOrLO) С 2 ДЕЛЕНИЕ HA DX(1,1J НОРМИРШЦЕГО КОЭФ 10 FlTFl(IK) - SQRT(FlTFl(IK)/DX(1,1)) FI1L=HFDT(1,6*(1-1) +L) FIlLOB=HFOB(6*(1-1)+1, L) С обнуление члена в HFOB(l,l)> iЈ ( L .EQ. 1 ) FI1LOB = 0. NN-KO-KOZN+1 С знаки минус - из за - alfa в + с FI_I_L=-(F11-EA1D)*FI1L0B*DMU(1,1) / FlTFl(I)+NN*(FI1L-EA1FL) С знаки минус - из за - alfa FI_I_L=(F11-EA1D)*FI1L0B*DHU(1,1) / FlTFl(I)-Nil*{FI1L-EA1FL) с доработанный вариант с правильной дисперсией при alfa=0 С И знаком минус (-> При FIlL_Fl DMU(1,1) МИНУС - НА + И DMU(1,1) с sigp - > dmu(1,1) FI1L_F1 = ( FI1LOB * dmu(l,l) ) / FlTFl(I) RETURH END с Подпрограмма вычисления параметра alfa-optiшиш SUBROOTIHB ALF OPT{AL OP,SIGP,SIGSK,KO,KQgH, sig_2_dЈ ) implicit real*8 (a-h,o-z) common/FIL/FI1L_F1, FI1L,EA1FL,EA1D,Fill common/ALL/AL(4, 6,16) DO 1 1= 1, KO - KOZN + 1 DO 1 L=l,6 AL(1,L, I)=FI_I_L(I,L,KO,KOZN) AL(2,L, I)=FI1L~F1 AL(3,L,I)=FI1L AL(4,L,I)=ЈA1FL 1 CONTINUE AL_HI =0. AL ZN = 0. DO 2 I = 1 , KO - KOZN + 1 DO 2 L - 1 , 3 AL_HI = AL_HI + SIGP * (AL(3,L,I) - AL{4,L,I))*AL(1,L,I) / + SIGSK * (AL(3,L+3,1) - AL(4,L+3,I))*AL(1,L+3,I) 2 AL_ZN = AL__ZN + SIGP * AL (2, L, I) *\AL (1, L, I) + SIGSK * AL (2, L+3, I) *AL (1, L+3,1) С > ~~ С DMU(1,1) МИНУС - HA + И DMU(1,1) с AL OP - (AL HI/AL 2N) AL_OP " - (AL_HI/AL_ZN) aig_2_df=al_zn с Знак второй производной= RETURN END С программа алгоритма вычисления навигационных решений в НП subroutine korka4(vl,v2,v3,v4,v5,v6,dx,dy,d2) implicit real*8 (a-h,o-z) C0MM0N/XYZ1234/X, Y, Z,XC1,YC1,ZC1,XC2,YC2,ZC2,XC3,YC3,ZC3, /ХС4,YC4,ZC4 write(*,817) X,Y, Z,XC1,YC1,ZC1,XC2,YC2,ZC2,XC3,YC3,ZC3, /ХС4,YC4, ZC4 817 format (' XYZ 1234 ? KORKA4' ,5 (/3Ј28.12)) 19700. + V6 19700. + V5 19700. + V4 write(3,817) X,Y, Z,XC1,YC1,ZC1,XC2,YC2,ZC2,XC3,YC3,ZC3,XC4,YC4,ИС4 ROCl_2 = XC1*XC1 + YC1*YC1 + ZC1*ZC1 ROC2_2 = XC2*XC2 + YC2*YC2 + ZC2*ZC2 ROC3_2 = XC3*XC3 + YC3*YC3 + 2C3*ZC3 ROC4_2 = XC4*XC4 + YC4*YC4 + ZC4*ZC4 dR21 = 27141.296947640508802112214488 + VI dR31 = 27141.296947640508802112214488 + V2 dR41 = 27141.296947640508802112214488 + V3 A21 =0.5 * ( ROC2_2 - ROCl_2 - dR21*dR21 ) A31 = 0.5 * ( R0C3_2 - R0C1_2 - dR31*dR31 ) A41 = 0.5 * ( ROC4_2 - ROCl_2 - dR41*dR41 ) write(*,10) A21,A31,A41 write(3,10) A21,A31,A41 10 format (' AR21,AR31,AR41 = ' ,3(/?26.11)) DET=(XC2-XC1)*(YC3-YC1)*(ZC4-ZC1)+ (XC4-XC1)*(YC2-YC1)*(ZC3-ZC1)+ / (XC3-XC1)*(YC4-YC1}*(ZC2-2C1)- (XC4-XC1)*(YC3-YC1)*(ZC2-ZC1)- / (XC3-XC1)*(YC2-YC1)*(ZC4-2C1)- (XC2-XC1)*(YC4-YC1)*(ZC3-ZC1) DET_1=1./DET B0X=( A21*(YC3-YC1)*(ZC4-ZC1) + A41*(YC2-YC1)*(ZC3-ZC1) + A31*(YC4-YC1)*(ZC2-ZC1) - / A41*(YC3-YC1)*(ZC2-ZC1) - A31*(YC2-YC1)*(ZC4-ZC1) - A21*(YC4-YC1)*(ZC3- ZC1)}*DET_1 BlX-( dR41*(YC3-YC1)*(ZC2-ZC1) + dR31*(YC2-YC1)*(ZC4-ZC1) + / dR21*(YC4-YC1)*(ZC3-ZC1) - dR21*(YC3-YC1}*(ZC4-ZC1) - / dR31*(YC4-YC1)*(ZC2-ZC1) - dR41 *(YC2-YC1)'(ZC3-ZC1) / )*DET_1 B0Y=( A31*(XC2-XC1)*(ZC4-ZC1) + A21*(XC4-XC1)*(ZC3-ZC1) + / A41*(XC3-XC1)*(ZC2-ZC1) - / A31*(XC4-XC1)*(ZC2-ZC1) - A21"(XC3-XC1)*(ZC4-ZC1) - / A41*(XC2-XC1) *(ZC3-ZC1) ПрИЛОЖ. - в / > *DET_1 B1Y**( dR31* (XC4-XC1) * (ZC2-ZC1) + dR21*[ХСЗ-XCIJ * (ZC4-ZC1) + / dR41*(XC2-XC1)*(ZC3-ZC1} - dR31*(XC2-XC1)*(ZC4-ZC1) - { dR21*(XC4-XC1)*(ZC3-ZC1) - dR41*(XC3-XC1)*(ZC2-ZC1) )*DET 1 BOZ=( A41*(XC2-XC1)*(YC3-YC1) + A31* (YC2-YC1) MXC4-XC1) + f A21*(YC4-YC1)*(XC3-XC1) - / A21*(XC4-XC1)*(YC3-YC1) - A41*(YC2-YC1)*(XC3-XC1)- / A31*(YC4-YC1)*(XC2-XC1) f )*DET 1 B1Z=( dR21*(XC4-XC1)*(YC3-YC1J / + dR41*(XC3-XC1)*(YC2-YC1) + dR31*(XC2-XC1)*(YC4-YC1) / - dR41*(XC2-XC1)*(YC3-YC1) - dR31*(XC4-XC1)*(YC2-YC1) / - dR21*(XC3-XC1)*(YC4-ZC1) )*DET_1 С ARl = 1 - B1X*B1X - B1Y*B1Y - B1Z*B1Z BR1= - 2,*{ (B0X-XC1)*B1X + (BOY-YC1)*B1Y + С / (BOZ-ZCl)*BlZ ) CR1 = - ( [BOX-XCI) **2 +o (BOY-YCl) **2 + [BOZ-ZCl) **2 ) write(3,3171 ARl, BR1,CR1,BRl*BRl-4*AR1*CR1,xc3 write(*,317} ARl, BR1,CR1,BR1*BRl-4*AR1*CR1,xc3 317 format (' . ARl,BR1,CR1,DIS,xc3 = \/,3G29.19,2G29.12) Rl_l = ( -BR1 + DSQRT(BRl*BRl-4*ARl*CRl) )/( 2*AR1 ) Rl_2 = ( -BR1 - DSQRT(BRl*BRl-4*ARl*CRl) )/( 2*AR1 ) XR_1 " B0X+B1X*R1_1 XR_2 = B0X+B1X*R1 2 YR_1 = B0Y+B1Y*R1_1 YR_2 =? B0Y+B1Y*R1_2 ZR_1 = B0Z+B1Z*R1_1 2R_2 = B0Z+B1Z*R1_2 RR_1 = SQRT ( XR_1* * 2 + YR_1**2 + 2R_l*+2 ) RR_2 = SQRT | XR_2 * * 2 + YR~2**2 + ZR~2**2 ) DEL_1 = ABSf 67 00. - RR_1 ) DEL_2 - AB3( 6700. - RR_2 ) IF(DEL_1 .LE. DEL_2) GOTO 2 XSL=XR_2 " YSL=YR 2 ZSL=ZR 2 GOTO 3 XSL=XR_1 Y3L-YR_1 ZSL=ZR_1 DX=X-XSL DY=Y-YSL 0Z=Z-ZSL write(917) XR 1,YR_1,ZR_1,XR_2,YR_2,ZR_2 write(3,917) XR~1, YR_1,ZR_1,XR_2,YR_2, ZR_2 917 format С . XR_1,YR_1,ZR_1,XR_2,YR_2,ZR_2',/,2(3f18.5/)) write(*,417) XSL,YSL,ZSL write(3,417) XSL,YSL,ZSL 417 format (' \/,3f27.8) return. end function gn(ayy,azz) implicit real*3 (a-h,o-z) call gr(ayy,gl) call gr(azz,g2) gn=cos(2*3.1416*gl)*sqrt(-2*alog(g2)) return end Приложение Г Координаты навигационных спутников х^, ycj, z^ ( 1 ~ 2, 3,4), соответствующие Зб-ти вариантам равномерно распределенным по плоскости местного горизонта спутника потребителя, и их схематичное расположение в проекции на плоскость OXY (равносильно плоскости Отп)
1) 2)
(Хс2 , Ус2, Zc2) = (26400., 0, 13000.); (Хс2 , Ус2 , Zci) - (26400., 0., 13000.);
(ХсЗ , УсЗ , 2^3 ) = (0., 26400., 13000.); (ХсЗ , УсЗ , 2сЗ ) ~ (0., 26400., 13000.);
(Хс4 , Ус4,гс4) = (-26400., 0, 13000.); (Xrf , Ус4 , Zc4 ) = (0., -264 00., 13000.);
3) 4)
(ХС2 , УС2, ZC2) = (26400., 0., 13000.); (Хсз , Уй, ) = (0., 26400., 13000.); (Хс4, Ус4, Zrf) = (18667.61902, 18667.61902, 13000.) (xci, Ус2, zc2) = (26400., 0., 13000.) (ХсЗ , Усз, z^ ) = ( 0.0, 26400., 13000.) (хы, уы, z^) = (-18667.619, -18667.619, 13000.) 5) ; 6) (хс2 , Ус2, ZC2 ) = (26400., 0., 13000.); ? (х^, ул, ^й) = (-26400., 0., 13000. ); (ХсЗ , ус3, ) = (0., 26400., 13000.); j (хс3, усз, za) = (0., -26400., 13000.); (Хс4, Ус4, zc4) = (-13200., -22863.0706, (хы , Ус4, z^) = (26400., 0., 13000.) 13000.); : 7) ? 8) (Хс2, Ус2 , ) = (-22863.07065, -13200., ; (х^, ус2 , т-а ) = (-13200., -22863.07065, 13000.); 13000.); (ХсЗ , усз,^) = (0, -26400., 13000.); (хс3 ,уез.хсз) = (0.,-26400., 13000.); (Хс4, Ус4, Zc4> = (-18667.61902, (Хс4,Ус4, 2^) = (-18667.61902, -18667.61902, 13000.) ; -18667.61902, 13000.) 9) * ' 10)" (Хс2, Ус2 , Zc2 ) = (22863.07065, -13200.,; (хй, уС2, = (-13200., 22863.07065, 13000. 13000.); ); (Хсз , Усз, ) = (0., 26400., 13000.); (Хс3, Усз, ) = ( 0., 26400., 13000. ); (х^, уы , гы) = (-22863.07065, -13200., (хм, уС4, z^) = (-22863.07065, -13200., 13000. 13000.) ) 11) : 12) (Хс2, УсЗ , ) = (-13200., 22863.07065, ' (Хс2, ус2 , ъл ) = (-22863.07065, -13200., 13000.); ; 13000.); (ХсЗ , Усз, 2сз) = (0., -26400., 13000.); (Xc3 , Усз, z^) = (0., 26400, 13000. ); (Хс4, Уы , Z*) = (13200., -22863.07065, (х^, уы , гы) = (-13200., -22863.07065, 13000.) 13000.) 13) 14) (Хс2, Ус2 , ) = (13200., -22863.07065, {ха, yc2 , Zc2 ) = (18667.61902, 18667.61902, 13000.); 13000.); (хсз , Усз, 2^з) = (0.,-26400., 13000.); ' (хс3 , Усз, Ъз ) = (0., 26400., 13000.); (Хс4, Ус4 , Zc4) = (22863.07065., -13200, (Хс4, ус4, ъ*) = (22863.07065,13200., 13000. ) 13000.)
15) 16) (хс1, Ус2 , Zc2) = (18667.61902, 18667.61902, (xc2, yc2 , z^) = (18667.61902, 18667.61902, N 13000.); 13000.); Ч (Хсз ,ycj,Zc3 ) = (0., 26400., 13000.); (x^ , y^, z^) = (0.,-26400., 13000.); (xo4, Ус4 , ZC4) = ( 13200., 22863.07065, (Xc4tyc4,Zc4) = (18667.61902, J3000.) _ -18667.61902,13000.);_ __ 17) "" 18) ~ ' ' " * (хй,УС2,2й) -(18667.61902, (xc2,ye2,zei) =(18667.61902, -18667.61902,13000.); 18667.61902, 13000.); (хсз, Усз, Zcj) = (0.; 26400., 13000.); (Xc3 , yc3, za) - (0., 26400., 13000. ); (хы, yc4, z*) = (-18667.61902, (xc4, yc+, z^) = (-18667.61902, -18667.61902,13000.); 18667.61902,13000. ); 19) 20) (Хсг.УсЗ,Za) = (22863.07065, ! (x^,Ус2,za) =(-18667.61902, -13200, 13000.); -18667.61902, 13000.); (Хсз , Усз, ze3) = (0., 26400., 13000.); i (x^ , Ус3, Zc3) = (0., 26400., 13000. ); (xc4, yC4, zc4) = (-22863.07065, : (xc4j Ус4, z*) = (22863.07065, 13200., 13000.); 1 13200., 13000.); 21) 22) (Хс2,УС2,2с2) =(18667.61902, (Хс2,Уа>2сг) = (-18667.61902, -18667.61902, 13000.); -18667.61902, 13000.); (Хсз , Усз, z*) = (0., 26400., 13000.); ; (x^ , Усз, z^) - (0., 26400., 13000. ); (Xrf, yc4, Zc4) - (-18667.61902, : (xc4, yc4, zc4) = (18667.61902, 18667.61902, 13000.); 18667.61902, 13000.); 23) . 24) (Xc2, Ус2 , ze2 ) = (-18667.61902, (xC2, Ус2"zC2) =(-18667.61902, 18667.61902, 13000.); -18667.61902, 13000.); (Хсз , Усз, Zc3) = (0., -26400., 13000.); (x^ , Уе3, z^) = (0., -26400., 13000. ); (Xc4) yc4, zc4) = (18667.61902, (xc4, yc4, z^) = (18667.61902, -18667.61902, 13000. ); 18667.61902, 13000.); 25) 26) (Xci, Ус2, zc2) = (-22863.07065, 13200., (xc2) yc2, zc2) = (18667.61902, 13000.) -18667.61902, 13000.); (Хсз , Усз, Zc3) = (0., 26400., 13000.); (Хсз , yc3, zc3) = (0., 26400., 13000.); (Xc4, Ус4, Zc4) = (13200., -22863.07065 , (x^, yc4, zc4) = (-22863.07065 , 13200., 13000.); ; 13000,); 27) 28) (xc2) Ус2 , ze2 ) = (13200., -22863.07065, (xc2, Ус2, zc2) = (0., -26400., 13000.); 13000.); ' (Хсз , Усз > Zc3) = (0., 26400., 13000.); fe , Усз, zc3) = (0., 26400., 13000.); ; (x^, yc4 , zj) = ( -13200. , -22863.07065, (xc4, Ус4 " = (-13200., -22863.07065, i 13000.); 13000.); ; 29) 30) (Xg2, yc2 , z^2 ) = (13200., 22863.07065, (xc2) yc2 , zc2 ) = (13200., 22863.07065, 13000.); 13000.); (Хсз , Уез, z,3) = (0., 26400., 13000.); (xc3 , ye3, z^) = (0., 26400., 13000.); (Xc4, Ус4 , z^) = (-13200., 22863.07065, (xe4, yc4, zc4) = (0.,-26400., 13000.); 13000.);
(Xc2,yc2,ze2) = (0., -26400., 13000.); (ХсЗ , УсЗ, Zc3) = С 0.26400., 13000.); (xc4,ye4,zc4) = (18667.61902 -18667.61902, 13000.); 32) (х,2, Ус2,2,2) = (0., - 26400., 13000.); (ХсЗ , Усз, zc3) = ( 0., 26400., 13000.); (Хс4, Ус4 , Ze4) = (- 22863.07065, 13200., 13000.);
33) 34) (Хсз, уС2, zc2) =(0., 26400., 13000.); : (хс2, ус2, Zc2) =(0., 26400., 13000.); (хс3 > Усз, zc3) ~ (-18667.61902, : (хс3 , ус3, z^) = (-18667.6I902, 18667.61902, 13000.); ; 18667.61902, 13000.); (Хс4, Ус4 , Z,*) = (-22863.07065, 13200.,' (х^, ус4 , z^) = ( -13200., 22863.07065, 13000.); 13000.); 35) ~~ " 36) (Хсг.усг.гй) =( 0., 26400., 13000.); : (х^, ус2, z^i) =( 0., 26400., 13000.); (хсз, Усз, zd) = (-22S63.07065, 13200., , : (х"д , yc3, zc3) = (-18667.61902, 18667.61902, 13000.); ; 13000.); (Xri, Ус4 , Zc4) = ( -13200, 22863.07065, : (х^, уС4, = (-26400., 0., 13000.); 13000.);