(F_orr) * (1/Math.Sin (L_orr - lr)) - Math.Sin (Fir) * (1/Math.Tan (L_orr - lr)));
}=(res * 180)/Math.PI; res;
} double GetH (double fi, double l, double d, double t)//Розрахунок висоти
{fir, lr, dr, res;=fi/180 * Math.PI;=l/180 * Math.PI;=d/180 * Math.PI;=Math.Asin (Math.Sin (fir) * Math.Sin (dr) + Math.Cos (fir) * Math.Cos (dr) * Math.Cos (t));=(res * 180)/Math.PI; res;
} double GetdKU (double i, double h)//Розрахунок поправки
{ir, hr, res;=(i/180) * Math.PI;=(h/180) * Math.PI; (hr == Math.PI/2)
{= ir;
}
{= Math.Tan (hr) * ir;
}=(res * 180)/Math.PI; res;
}
void PrintRes (double A, double IK, double OK)
{. SetCursorPosition (1, 5) ;. Write ( Азимут: t t t t ); (A) ;. SetCursorPosition (1, 6) ;. Write ( Істинний курс: t t t ); (IK) ;. SetCursorPosition (1, 7) ;. Write ( ортодроміческое курс: t t t ); (OK);
}
void Main (string [] args)
{Fi, l, d, T0, T1, T5, T, i, KU, IK, A, h, AA, dKU, F_or, L_or, B, OK; Reader; Now; ex ;=init ();
=SetAng ( Широта );
l=SetAng ( Довгота );=SetAng ( Схиляння );=SetAng ( Тгр ); _ or=SetAng ( Широта полюса обраної ортодромії ); _ or=SetAng ( Довгота полюса обраної ортодромії );
Console.Clear ();=DateTime.Now;=Now.Hour * 3600 + Now.Minute * 60 + Now.Second + Now.Millisecond * 0.001;=T0;=T + l;=GetA (Fi, l, d, T);=GetH (Fi, l, d, T);
{(Reader, out i, out KU);=DateTime.Now;=Now.Hour * 3600 + Now.Minute * 60 + Now.Second + Now.Millisecond * 0.001; (KU lt; 0) KU= KU + 360; (i, KU);=GetdKU (i, h);=GetB (Fi, F_or, L_or, l);=A - KU + dKU;=IK - B; :( IK lt; 0) IK =IK + 360; (OK lt; 0) OK=OK + 360; (IK gt; 360)
{= IK - 360; point;
} (OK gt; 360)
{= OK - 360; point;
} (A, IK, OK);=T1;=Console.KeyAvailable; (T0 - T5 gt; 2000) ex=true;
}
while (! ex);
Console.ReadKey ();
}
}
}
6.5 Контрольний приклад виконання програми
Для перевірки працездатності розробленої програми, було проведено кілька контрольних вимірів. Як і описувалося раніше в налагодженні, найпроблемніша частина вимірювань - це операції з синусами, косинусами і тангенс, оскільки можливо розподіл на нуль (якщо синус або косинус якого-небудь з кутів дорівнює нулю) або неіснуюче число (тангенс 900 не існує). Заходи по обходу цих помилок були докладно описані в підпункті «Налагодження програмного забезпечення». В рамках контрольного виконання програми було вироблено 4 виміру, в кожному з яких всі вводяться кутові величини прирівнювалися до 00, 900, 1800, і 2700 відповідно. Також був проведений п'ятий завмер, в якому справжні широта і довгота відрізнялися від ортодроміческое.
Вихідні дані для контрольних прикладів виконання програми занесені в таблицю 5.
Таблиця 5. Вихідні дані для контрольних прикладів
№ опитаШіротаДолготаСклоненіеГрінвіческій часовий уголОртодроміческая шіротаОртодроміческая долгота100 0 00 0 00 0 00 0 00 0 00 0 2900 0900 0900 0900 0900 0900 0 31800 0 1800 0 1800 0 1800 0 1800 0 1800 0 42700 0 2700 0 2700 0 2700 0 2700 0 2700 0 5120 4 360 8 110 13 250 11 1230 2 340 11
Результати контрольних вимірів занесені в таблицю 6.
Таблиця 6. Результати виконання контрольних прикладів
№ опитаКрен пеленгатораКурсовой уголАзімутІстінний курсОртодроміческій курс1120 9 2300 20 570 18 1990 7 1990 7 2190 37 3020 13 260 37 1640 1 1640 1 3110 30 460 0 570 18 130 52 130 52 470 82 2060 17 790 52 800 59 800 59 5190 56 840 4790 39 3570 28 +2680 37
7. Аналіз метрологічних характеристик
Астрономічним компасах властиві методичні та інструментальні похибки.
7.1 Методичні похибки
. 1.1 Похибки вимірювання курсу через помилки визначення місця літака
Загальна формула даного виду похибки виглядає так:
(4)
- приватна похідна від азимута світила за широтою місця літака;
- приватна похідна від азимута світила по довготі місця літака;
- помилка визначення введеної в астрокомпас широти місця літака;
- помилка визначення введеної в астрокомпас довготи місця літака;
У практиці польотів часто буває відомо значення кругової помилки ви...