Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кодомкин2сем4курс / МУ ЛР Аппроксимация атмосферы.doc
Скачиваний:
46
Добавлен:
15.03.2016
Размер:
5.45 Mб
Скачать

5.4. Методика формирования программного модуля расчета температурной функции стандартной атмосферы

Подготовим функцию для расчета коэффициента для температурной зависимости стандартной атмосферы от высоты. Т.к. в построенных моделях используется трехдиапазонная аппроксимация полиномами различной степени, то сформируем в программном модуле для реализации разветвленного алгоритма структуру типа Переключатель (select case), в которой укажем каждый из трех диапазонов и скопируем при помощи буфера уравнения трендов из области подписи данных для соответствующих линий тренда в программный модуль. Так же вПереключателенеобходимо предусмотреть отображение входных параметров ( высота) , если его значение выходит за рамки рассматриваемых диапазонов.

На рис.5. представлен вид программного модуля после копирования в него уравнений. Для приведения представленного листинга к виду, пригодному для компиляции необходимо выполнить ряд преобразований текста для выполнения требований VBA. Учитывая, что необходимость в преобразованиях данных возникает при разработке пакетов и средств САПР и их эксплуатации достаточно часто, то рассмотрим выполняемые действия по шагам. Представленный алгоритм реализуется в конверторах данных при формировании единой информационной среды САПР ЭУ.

Преобразование 1. Запись уравнения тренда вида, например:

y = 1,71164x2 + 1,01256x + 0,99943

после копирования в программный модуль теряет свойства символа верхний индекси будет иметь вид:

y = 1,71164x2 + 1,01256x + 0,99943.

следует найти символы "x", входящие в уравнения тренда и преобразовать путем замены в символьную строку "*х^". Вид окна для выполнения указанного преобразования представлен на представлен на листинге программного модуля (рис.5).

Рис.5. Программный модуль. Преобразование 1.

Преобразование 2. После выполненных преобразований получим программный модуль вида (рис.6), в котором для линейных членов уравнений степень не указана, т.к. в уравнениях тренда подразумевается степень 1. Т.к. линейных членов уравнений после символа "^" следуетпробел, то необходимо найти символы "*х^ ", входящие в уравнения тренда, и удалить знак степени путем замены символьной строки на "*х". Вид окна для выполнения указанного преобразования представлен на листинге программного модуля (рис.6).

Рис.6. Программный модуль. Преобразование 2.

Преобразование 3. После выполненных преобразований получим программный модуль вида (рис.7), в котором в качестве разделителей целой и дробной частей в уравнениях трендов используетсязапятая, а вVBAиспользуется формат чисел с фиксированнойточкой. Необходимо найти символы ",", входящие в уравнения тренда, и заменить ".". Вид окна для выполнения указанного преобразования представлен на листинге программного модуля (рис.7).

После последнего преобразования получим программный модуль следующего вида (рис.8), который пригоден для компиляции и использования в расчетах параметров стандартной атмосферы. Результаты численных расчетов температуры воздуха для стандартной атмосферы, полученные по рассмотренной кусочно-полиномиальной модели аппроксимации. представлены в табл.7 и на рис.9.

Погрешность модели не превышает 0,25% в диапазоне высот от 0км до 25 км и от 45км до 100км. В диапазоне от 25км до 45км погрешность модели не превышает 1%.

Рис.7. Программный модуль. Преобразование 3.

Рис.8. Программный модуль после выполнения контекстных замен

Полученный программный модуль после компиляции применяем в виде функции пользователя для выполнения конкретных расчетов. В табл.7 приведены результаты расчетов с данными о значениях функции, погрешностях и температуры стандартной атмосферы на различных высотах.

На рис.9 представлена температурная зависимость в виде графика.

Таблица 7. Аппроксимация температуры стандартной атмосферы

Высота, км,

Изменение температуры, √T(0)/T(h)

yрегр

Δy

Δy,%

T,К

0

1

0,99943

-0,00057

-0,06%

288,3

0,5

1,003

1,004536

0,001536

0,15%

285,4

1

1,01

1,009727

-0,000273

-0,03%

282,5

1,5

1,015

1,015004

3,52E-06

0,00%

279,5

2

1,021

1,020366

-0,000634

-0,06%

276,6

3

1,032

1,031347

-0,000653

-0,06%

270,8

5

1,054

1,054337

0,000337

0,03%

259,1

6,5

1,072

1,072478

0,000478

0,04%

250,4

10

1,118

1,117802

-0,000198

-0,02%

230,5

15

1,133

1,133722

0,000722

0,06%

224,1

20

1,133

1,130072

-0,002928

-0,26%

225,5

25

1,121

1,123789

0,002789

0,25%

228,0

30

1,109

1,11298

0,00398

0,36%

232,5

35

1,098

1,087774

-0,010226

-0,93%

243,4

40

1,034

1,040988

0,006988

0,68%

265,8

45

0,979

0,978787

-0,000213

-0,02%

300,6

50

0,933

0,931347

-0,001653

-0,18%

332,0

55

0,963

0,963512

0,000512

0,05%

310,2

75

1,122

1,122006

6,25E-06

0,00%

228,8

100

1,176

1,176

0

0,00%

208,2

Рис.9. Аппроксимация температуры стандартной атмосферы