рефераты бесплатно

МЕНЮ


Исследование движения центра масс межпланетных космических аппаратов

в соответствии с требованиями СНиП 2.03.04-87 – “Административные и бытовые

здания и помещения производственных предприятий”.

Площадь помещения следует принимать из расчёта 6 м2 на одного работника.

При оснащении рабочих мест терминалами ЭВМ, печатающими устройствами и пр.

площади помещения допускается увеличивать в соответствии с техническими

условиями на эксплуатацию оборудования. Кубатура должна быть не менее 19,5

м3 с учётом максимального числа одновременно работающих.

Минимальная ширина проходов с передней стороны пультов и панелей

управления ЭВМ при однорядном расположении должна быть не менее 1 м, при 2-

х рядном расположении не менее 1,2 м. Видеотерминалы должны располагаться

при однорядном размещении на расстоянии не менее 1 м от стен. Рабочие места

с дисплеями должны располагаться между собой на расстоянии не менее 1,5 м.

На постоянных рабочих местах и в кабинах операторов должны быть

обеспечены микроклиматические параметры, уровни освещённости, шума и

состояния воздушной среды, определённые действующими санитарными правилами

и нормами.

4.6. РЕКОМЕНДАЦИИ ПО СНИЖЕНИЮ УТОМЛЯЕМОСТИ

Необходимо расположить экран дисплея немного выше уровня глаз. Это

создаст разгрузку тех групп окологлазных мышц, которые наиболее напряжены

при обычном направлении взгляда - вниз или вперёд.

Помещение, где находятся компьютеры и видеомониторы, должно быть

достаточно просторным с постоянным обновлением микроатмосферы. Минимальная

площадь на один видеомонитор - 9-10 м2. Крайне нежелателен визуальный

контакт работника с другими мониторами или телевизионными экранами.

Необходимо исключить наличие всевозможных бликов на экране монитора, часто

возникающих на стеклянных экранах. Следует также избегать большой

контрастности между яркостью экрана и окружающего пространства -

оптимальным считается выравнивание яркости экрана и компьютера. Запрещается

работа с компьютером в тёмном или полутёмном помещении.

Вечернее освещение рабочего помещения желательно голубоватого цвета с

яркостью, примерно равной яркости экрана. В условиях дневного освещения

также рекомендуется обеспечить вокруг монитора голубой фон - за счёт

окраски стен или хотя бы наличия плакатов.

Для большего эргономического комфорта целесообразно расположить в кресле

опору - в районе поясничного изгиба позвоночника (в виде продолговатой

подушечки или валика).

Если работник имеет те или иные рефракционные отклонения (близорукость,

дальнозоркость и др.), то последние должны быть полностью коррегированы

очками. При более серьёзных отклонениях вопрос о возможности работы с

видеотерминалами должен решаться с участием врача-офтальмолога.

Через каждые 40-45 минут необходимо проводить физкультурную микропаузу:

вращение глаз по часовой стрелке и обратно, лёгкие гимнастические

упражнения для всего тела, например поднимание и опускание рук.

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

расслабление, которые могут уменьшить напряжение, накапливающиеся в мышцах

при длительной работе за компьютером.

4.7. ЗАЩИТА ОТ НАПРЯЖЕНИЯ ПРИКОСНОВЕНИЯ. ЗАНУЛЕНИЕ

Занулением называется преднамеренное соединение нетоковедущих частей с

нулевым защитным проводником (НЗП). Оно применяется в трехфазных сетях с

глухозаземленной нейтралью в установках до 1000 вольт и является основным

средством обеспечения электробезопасности.

При попадании напряжения сети на корпус ПЭВМ возникает режим короткого

замыкания. Для защиты электрической сети от короткого замыкания и

перегрузок применяются автоматические выключатели или предохранители. При

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

ток срабатывания - Iном:

Ialarm ( KIном, где

Iном = Ialarm/K

Iном - номинальный ток срабатывания защитного устройства, A;

K - коэффициент, учитывающий тип защитного устройства:

K = 3 - для автомата с электромагнитным расцепителем,

K = 1.4 - для теплового автомата,

Ialarm - ток короткого замыкания, A.

Рассчитаем величину тока короткого замыкания:

Ialarm = Uf/(Rn + Rm/3)

Rn = Rf + R1 + jx1

Uf = 220 В

Rm = 0,312(

Rf = 0,412(

jx1 = 0,6(

R1 = (/S

( - удельное сопротивление НЗП, [(mm2/m];

l - длина НЗП, m;

(cu = 0,0175 ( mm2 /m,

l = 50 m,

S = 1,5 mm2

R1 = 0,0175(50/15) = 0,58(

Rn = (0,412 + 0,58 + 0,6) = 1,59(

Ialarm = 130 A

Iном = 43 A

Для того, чтобы в случае короткого замыкания или других причин ПЭВМ

отключалась от электрической сети необходимо в цепь питания поставить

автомат с электромагнитным расцепителем с Iном = 43 A.

4.8. ПОЖАРНАЯ БЕЗОПАСНОСТЬ

В помещениях ВЦ существуют все три основные фактора, необходимые для

возникновения пожара.

Горючими материалами на ВЦ являются: строительные материалы для

акустической и эстетической отделки помещений, перегородки, двери, полы,

изоляция силовых и сигнальных кабелей, шкафы, жидкости для очистки

элементов и узлов ЭВМ и т.д.

Для отвода тепла от ЭВМ в производственных помещениях ВЦ постоянно

действует система кондиционирования. Поэтому кислород, как окислитель

процессов горения, имеется в любой точке помещений ВЦ.

Источниками зажигания на ВЦ могут оказаться электронные схемы ЭВМ,

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

электропитания, кондиционеры воздуха.

По пожарной опасности ВЦ относятся к категории “В” (в производстве

обращаются твердые сгораемые вещества и материалы). Исходя из этого ВЦ

проектируется с II степенью огнеустойчивости.

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

|Cтепень огнестойкости зданий и сооружений |II |

|Основные строительные конструкции: | |

|Несущие стены, стены лестничных клеток, колонны |2 |

|Лестничные площадки |1 |

|Наружние стены из навесных панелей |0,25 |

|Внутренние несущие стены, перегородки |0,25 |

|Несущие конструкции междуэтажных перекрытий |0,75 |

|Плиты, настилы и др. |0,25 |

Для обнаружения начальной стадии загорания используют систему

автоматической пожарной сигнализации (АПС). АПС состоит из пожарных

извещателей, линий связи и приемных пультов (станций).

В помещениях ВЦ применят дымовые пожарные извещатели типа РИД-1.

Принцип действия РИД-1 основан на изменении величины электрического тока,

протекающего через ионизационную камеру, при попадании в нее дыма.

Технические показатели для РИД-1:

|чувствительный элемент |ионизационная камера |

|параметр срабатывания |тлеющий фитиль |

|инерционность, сек |10 |

|диапазон температур, С |-30 ...+50 |

|относительная влажность, % |80 |

Норма расстановки пожарных извещателей в помещениях с гладким полом:

|Тип |Защищаемая |Расстояние между извещателями, м |

| |площадь, i2 | |

| | |максимальное |в узких коридорах |

|РИД-1 |100 |12 |15 |

Линии связи систем АПС с приемными станциями строятся по лучевому

принципу. Приемные станции АПС устанавливаются в помещении дежурного по ВЦ,

где организуется круглосуточное дежурство.

Приемные станции обеспечивают следующие функции:

прием сигналов от пожарных извещателей с индикацией номера луча;

непрерывный контроль состояния лучей по всей длине с автоматическим

выявлением характера повреждения;

световая и звуковая сигнализация тревоги;

автоматическое переключение на резервный источник питания при сбоях сети

с включением соответствующей сигнализации.

На ВЦ используется приемная станция РОУП-1.

Технические характеристики устройства РОУП-1:

|извещателей РИД-1, шт |до 300 |

|шлейфов блокировки, компл. |до 30 |

|напряжение питания, В |220(10 |

|потребляемая мощность, Вт |не более 180 |

|диапазон температур, С |+5 ... +50 |

|относительная влажность, % |до 80 |

|срок службы, лет |8 |

|дополнительные функции |может управлять устройствами |

| |пожаротушения |

На ВЦ применяются установки газового тушения пожара, действие которых

основано на быстром заполнении помещения газом с низким содержанием

кислорода. Используется автоматическая установка газового пожаротушения

(АУГП) с электрическим пуском.

Технические характеристики АУГП с электрическим пуском:

|число пусковых баллонов, шт |2 |

|число рабочих баллонов, шт |4 |

|заряд пускового баллона |сжатый воздух |

|заряд рабочего баллона |фреон 114 Вч |

|вместимость пускового баллона, л|27 |

|вместимость рабочего баллона, л |40 |

|давление в пусковом баллоне, МПа|125 |

|давление в рабочем баллоне, МПа |12,5 |

|продолжительность пуска, с |65 |

|масса батареи без заряда, кг |480 |

При использовании АУГП для предотвращения отравления персонала

предусмотрена предупредительная звуковая и световая сигнализация,

срабатывающая при ручном, дистанционном и автоматическом включении за 30

секунд до начала выпуска газа.

Расчет необходимого количества баллонов с сжатым воздухом и

огнегасительным средством:

Количество огнегасительного вещества (фреона)

Gт = GвWпKу, где Gт - количество огнегасительного вещества,

Wп - расчетный объем защищаемого помещения, м3,

Gв - огнегасительная концентрация газового состава, кг/м3,

Kу - коэффициент, учитывающий особенности процессов газообмена в

защищаемом помещении.

Для ВЦ Gв= 0,25 кг/м3, Kу = 1,2.

Wп = SH, где S - площадь помещения, м2.

H - высота помещения, м.

S = 100 м2. H = 3 м. Wп = 300 м3.

Gт = 0,25*300*1,2 = 90 кг.

Необходимое количество баллонов

Nб = Gт/Vб((, где Vб - объем баллона, м3,

( - плотность, кг/л,

( - коэффициент наполнения баллона.

Vб = 40 л, ( = 2,17 кг/л, ( = 0,9.

Nб = 90/(40*2,17*0,9) = 2.

Объем воздушных баллонов

Wб = (Рсмин+1)(Wс+Wт)/(Рмакс-Рбмин), где Рсмин и Рбмин - конечное

давление в воздушных баллонах и баллонах с огнегасительным средством, МПа,

Рмакс - начальное давление воздуха в баллоне, МПа,

Wс иWт - объем баллонов с огнегасительным составом и трубопроводов, л.

Рсмин = Рбмин = 5 Мпа, Wс = 2*40 = 80 л, Wт = 20л, Рмакс = 125 МПа.

Wб = (5+1)(80+20)/(125-5) = 4,8 л.

5. СПИСОК ЛИТЕРАТУРЫ.

«Основы теории полета космических аппаратов» / Под ред. Г.С.Нариманова,

М.К.Тихонравова. М., Машиностроение, 1972.

А.П.Разыграев «Основы управления полетом космических аппаратов». М.,

Машиностроение, 1990.

Г.Г.Бебенин, Б.С.Скребишевский, Г.А.Соколов «Системы управления полетом

космических аппаратов». М., Машиностроение, 1978.

К.Б.Алексеев, Г.Г.Бебенин «Управление космическими летательными

аппаратами». М., Машиностроение, 1974.

В.В.Солодовников, В.Н.Плотников, К.В.Яковлев «Теория автоматического

управления технических систем». М., изд.МГТУ им.Баумана, 1993.

Б.Страуструп «Язык программирования С++». М., «Радио и связь», 1991.

А.В.Бошкин, П.Н.Дубнер «Работа с С++». М., «Юкис», 1991.

В.В.Арсеньев, Б.Ю.Сажин «Методические указания к выполнению организационно-

экономической части дипломных проектов по созданию программной продукции»,

М., изд. МГТУ им.Баумана, 1994.

ГОСТ 2.103-68 НИР. М.: Изд-во стандартов, 1968.

В.К.Зелинский «НОТ в проектно-конструкторской организации». М.:

«Экономика», 1969.

«Управление трудовым коллективом» / Г.П.Зайцев, Э.В.Минько, Н.В.Артамонова

и др. Свердловск, Изд-во УГУ, 1989.

«Типовые нормы времени на программирование задач для ЭВМ», утвержденные

постановлением Государственного комитета СССР по труду и социальным

вопросам и Секретариата ВЦСПС от 27 июля 1987 г. №454/22-70

Ю.Г.Сибиров «Охрана труда в ВЦ». М., «Машиностроение», 1985.

Сибиров Ю.Г., «Основы инженерной психологии» / под ред. Б.Ф.Ломова. М.,

«Машиностроение», 1986.

СНиП 2.09.04-87 «Административные и бытовые здания и помещения

производственных предприятий».

«Зрение» / под ред. Н.И.Кудряшовой, М., «Машиностроение», 1995.

«Временные рекомендации труда операторов за дисплеями». ГОСТ 12.1.006-84.

СНиП2963-84 «Нормирование электромагнитных полей».

«Современные нормы электростатического и электромагнитного излучения»,

«Computer World» №7, 1995.3

6. ПРИЛОЖЕНИЕ. ТЕКСТЫ ПРОГРАММ ДЛЯ BORLAND C++ И MATHLAB 4.0 FOR WINDOWS

6.1. ОСНОВНОЙ ПРОГРАММНЫЙ МОДУЛЬ MAIN.CPP

#include

#include

#include

#include

#include "rk5.h"

#include "sfun.h"

#include "init.h"

#include

typedef long double real;

const float g_r = M_PI/180.;

const float r_g = 180./M_PI;

real t_beg;

real t_end;

real dt;

real toler;

int Np;

int Curp;

real dTp;

real mu_z;

real mu_s;

real mu_l;

real m;

real m_t;

real W;

real w_s;

real w_z;

real w_l;

real ww_l;

real xs,ys,zs;

real xl,yl,zl;

real Fz,Fs,Fl,Fa,U20;

real J1,J2,J3;

int nomin;

real par[8];

real parn[8];

real a_p,e_p,p_p,Om_p,i_p,om_p,Rp_p,Ra_p;

real y_main[6];

real prmt[5];

int Fl_u;

real u_last;

int Fl_ka;

int Fl_kp;

int Fl_ki;

int Fl_i;

int Fl_p;

int Fl_a;

int Fl_lu;

int Fl_pkT;

real dl;

real T_vd;

real dRa;

real dRp;

int Sig;

int Sig_a;

real Tkor;

real Tkore;

real Vkor[3];

real akor[3];

int Fl_l0;

int Fl_l1;

int Fl_pki;

real dV_ps;

real dV_as;

real dV_is;

real dV_ss;

ofstream m_y ("m_y.dat");

ofstream m_f ("m_f.dat");

ofstream m_s ("m_s.dat");

ofstream m_l ("m_l.dat");

ofstream m_par ("m_par.dat");

ofstream u_f ("u_f.dat");

ofstream u_par ("u_par.dat");

ofstream k_par ("k_par.dat");

void out_p(real,real *,real*,int,int,real*);

void main()

{

clrscr();

init_m();

real dery[]={ .167, .167, .167, .167, .166, .166};

int ihlf;

int ndim = 6;

Drkgs(prmt,y_main,dery,ndim,ihlf,fct,out_p);

clrscr();

if (ihlf= (dTp*Curp))

{

Curp++;

gotoxy(1,20);

cout parn[7]))

{

Fl_u = 0;

dl = -(w_z-w_s)*(par[6]-parn[6]);

u_par 79000) && (x < 81000))

{

k_par 300*g_r)

Fl_u = 1;

u_last = par[7];

}

void korr(real& t, real *f, real *)

{

if (t > (Tkor+172800.))

{

if ((fabs(dl) > 0.1*g_r) && (!Fl_ka) && (!Fl_kp) && (!Fl_ki))

{

Fl_kp = 1;

Fl_ka = 0;

Fl_ki = 0;

cout par[7])

da = fabs(par[5]-par[7]-M_PI);

else

da = fabs(par[5]-par[7]+M_PI);

if (da < .1*g_r)

{

Fl_a = 1;

}

if (fabs(par[5] - par[7]) < .1*g_r)

{

Fl_p = 1;

}

if (par[7] < .1*g_r )

{

Fl_lu = 1;

}

real Vk;

if (T_vd)

if (t >= (T_vd +20))

{

T_vd = 0;

akor[0] = 0;

akor[1] = 0;

akor[2] = 0;

cout 0)

Sig_a = -1;

else

Sig_a = 1;

cout R_n)

{

Rp_p = R_n;

Ra_p = R_t;

a_p = (Ra_p+Rp_p)/2.;

e_p = 1-Rp_p/a_p;

p_p = a_p*(1-e_p*e_p);

Vk = sqrt(mu_z/p_p)*(1-e_p);

}

else

{

Rp_p = R_t;

Ra_p = R_n;

a_p = (Ra_p+Rp_p)/2.;

e_p = 1-Rp_p/a_p;

p_p = a_p*(1-e_p*e_p);

Vk = sqrt(mu_z/p_p)*(1+e_p);

}

real dV = Vk-V_t;

real dVmax = 20*25./m;

cout dVmax)

{

akor[0] = Sig_a*(25./m)*f[3]/V_t;

akor[1] = Sig_a*(25./m)*f[4]/V_t;

akor[2] = Sig_a*(25./m)*f[5]/V_t;

cout fabs(dV))

{

dVmax = fabs(dV);

real Vk_r = Sig_a*dVmax+V_t;

real Ra_r = R_t;

real e_r = -(Vk_r*Vk_r*Ra_r/mu_z)+1;

real a_r = Ra_r/(1+e_r);

real p_r = a_r*(1-e_r*e_r);

real Rp_r = a_r*(1-e_r);

cout 0)

Sig_a = -1;

else

Sig_a = 1;

cout R_n)

{

Rp_p = R_n;

Ra_p = R_t;

a_p = (Ra_p+Rp_p)/2.;

e_p = 1-Rp_p/a_p;

p_p = a_p*(1-e_p*e_p);

Vk = sqrt(mu_z/p_p)*(1-e_p);

}

else

{

Rp_p = R_t;

Ra_p = R_n;

a_p = (Ra_p+Rp_p)/2.;

e_p = 1-Rp_p/a_p;

p_p = a_p*(1-e_p*e_p);

Vk = sqrt(mu_z/p_p)*(1+e_p);

}

real dV = Vk-V_t;

real dVmax = 20*25./m;

cout dVmax)

{

akor[0] = Sig_a*(25./m)*f[3]/V_t;

akor[1] = Sig_a*(25./m)*f[4]/V_t;

akor[2] = Sig_a*(25./m)*f[5]/V_t;

cout fabs(dV))

{

dVmax = fabs(dV);

real Vk_r = Sig_a*dVmax+V_t;

real Ra_r = R_t;

real e_r = -(Vk_r*Vk_r*Ra_r/mu_z)+1;

real a_r = Ra_r/(1+e_r);

real p_r = a_r*(1-e_r*e_r);

real Rp_r = a_r*(1-e_r);

cout par[5])

teta = 2*M_PI+par[7]-par[5];

else

teta = par[7]-par[5];

real Vr_i = sqrt(mu_z/par[0])*par[1]*sin(teta);

real Vn_i = sqrt(mu_z/par[0])*(1+par[1]*cos(teta));

V_t = sqrt(f[3]*f[3]+f[4]*f[4]+f[5]*f[5]);

Vk_x = -Vn_i*cos(parn[4])*sin(par[3])+Vr_i*cos(par[3]);

Vk_y = Vn_i*cos(parn[4])*cos(par[3])+Vr_i*sin(par[3]);

Vk_z = Vn_i*sin(parn[4]);

Vk = sqrt(Vk_x*Vk_x+Vk_y*Vk_y+Vk_z*Vk_z);

real dV_x = Vk_x-f[3];

real dV_y = Vk_y-f[4];

real dV_z = Vk_z-f[5];

real dV = sqrt(dV_x*dV_x+dV_y*dV_y+dV_z*dV_z);

real dVmax = 20*25./m;

cout dVmax)

{

akor[0] = (25./m)*dV_x/dV;

akor[1] = (25./m)*dV_y/dV;

akor[2] = (25./m)*dV_z/dV;

cout = 0)

par[3] = acos(c_Om);

else

par[3] = 2*M_PI-acos(c_Om);

real c_om = (f1*cos(par[3])+f2*sin(par[3]))/F;

real s_om = f3/(F*sin(par[4]));

if (s_om > 0)

par[5] = acos(c_om);

else

par[5] = 2*M_PI - acos(c_om);

if (par[2] < 0)

{

cout 0)

par[7] = acos(c_u);

else

par[7] = 2*M_PI - acos(c_u);

}

#include "rk5.h"

#include

void Drkgs(real *prmt,real *y,real *dery,int ndim,int& ihlf,

void (*fct)(real &,real*,real*),

void (*out_p)(real,real*,real*,int,int,real*))

{

static real a[] = { 0.5, 0.292893218811345248, 1.70710678118665475,

0.16666666666666667 };

static real b[] = { 2.0, 1.0, 1.0, 2.0 };

static real c[] = { 0.5, 0.292893218811345248, 1.70710678118665475, 0.5 };

real *aux[8];

int i,j,imod,itest,irec,istep,iend;

real delt,aj,bj,cj,r,r1,r2,x,xend,h;

for (i=0; i= 0.0)

{

iend = 1;

if (r > 0.0) h = xend-x;

}

out_p(x,y,dery,irec,ndim,prmt);

if (prmt[4] != 0.0) goto l40;

itest = 0;

l9: istep++;

j = 0;

l10: aj = a[j];

bj =b[j];

cj = c[j];

for (i=0; i 0.0)

{

if (ihlf-10 >= 0)

{

ihlf = 11;

fct(x,y,dery);

goto l39;

}

for (i=0; i 0) goto l39;

ihlf--;

istep = istep/2;

h = h+h;

if (ihlf < 0) goto l4;

imod = istep/2;

if ((istep-2*imod != 0) || (delt-0.02*prmt[3] > 0.0)) goto l4;

ihlf--;

istep = istep/2;

h = h+h;

goto l4;

l39: out_p(x,y,dery,ihlf,ndim,prmt);

l40: for (i=0; i

#include

ifstream if_init;

void nex_ln (void);

void init_m()

{

Np = 150;

t_beg = 0;

t_end = 8000000;

dt = 2;

toler = .05;

dTp = (t_end-t_beg)/float(Np);

Curp = 0;

J1 = 532;

J2 = 563;

J3 = 697;

m = 597.;

W = 2200;

mu_z = 3.9858e14;

mu_s = 1.3249e20;

mu_l = 4.9027e12;

w_s = 2*M_PI/(365.2422*24*3600);

w_z = 2*M_PI/(24*3600);

w_l = 2*M_PI/(27.32*24*3600);

ww_l = 2*M_PI/(18.6*365.2422*24*3600);

parn[0] = 6952137.;

parn[1] = 0;

parn[2] = 6952137;

parn[3] = 28.1*g_r;

parn[4] = 97.6*g_r;

parn[5] = 63.1968*g_r;

parn[6] = 5769.;

parn[7] = 5.751*g_r;

Fl_u = 1;

u_last = parn[7];

Fl_ka = 0;

Fl_kp = 0;

Fl_ki = 0;

Fl_p = 0;

Fl_a = 0;

Fl_i = 0;

Fl_pkT = 0;

Tkor = 0;

T_vd = 0;

akor[0] = 0;

akor[1] = 0;

akor[2] = 0;

dV_ps = 0;

dV_as = 0;

dV_is = 0;

dV_ss = 0;

Fl_l0 = 0;

Fl_l1 = 0;

Fl_pki = 0;

real x0 = 6137262.9+7000;

real y0 = 3171846.1+7000;

real z0 = 689506.95+7000;

real Vx0 = -201.288+5;

real Vy0 = -1247.027+5;

real Vz0 = 7472.65+5;

prmt[0] = t_beg;

prmt[1] = t_end;

prmt[2] = dt;

prmt[3] = toler;

prmt[4] = 0.0;

y_main[0] = x0;

y_main[1] = y0;

y_main[2] = z0;

y_main[3] = Vx0;

y_main[4] = Vy0;

y_main[5] = Vz0;

}

void nex_ln (void)

{

char ch;

if_init.get(ch);

while (ch != '\n')

if_init.get(ch);

}

#endif

6.4 ФАЙЛ ОПИСАНИЯ ПЕРЕМЕННЫХ DEF.H

#ifndef _DEFH

#define _DEFH

#include

typedef long double real;

extern const float g_r;

extern const float r_g;

extern int Np;

extern int Curp;

extern real dTp;

extern real t_beg;

extern real t_end;

extern real dt;

extern real toler;

extern real J1,J2,J3;

extern real mu_z;

extern real mu_s;

extern real mu_l;

extern real m;

extern real m_t;

extern real W;

extern real w_s;

extern real w_z;

extern real w_l;

extern real ww_l;

extern real xs,ys,zs;

extern real xl,yl,zl;

extern real Fz,Fs,Fl,Fa,U20;

extern int nomin;

extern real par[8];

extern real parn[8];

extern real a_p,e_p,p_p,Om_p,i_p,om_p,Rp_p,Ra_p;

extern real y_main[6];

extern real prmt[5];

extern int Fl_u;

extern real u_last;

extern int Fl_ka;

extern int Fl_kp;

extern int Fl_ki;

extern int Fl_i;

extern int Fl_p;

extern int Fl_a;

extern int Fl_lu;

extern int Fl_pkT;

extern real dl;

extern real T_vd;

extern real dRa;

extern real dRp;

extern int Sig;

extern int Sig_a;

extern real Vkor[3];

extern real akor[3];

extern real Tkor;

extern real Tkore;

extern real dV_ps;

extern real dV_as;

extern real dV_is;

extern real dV_ss;

extern int Fl_l0;

extern int Fl_l1;

extern int Fl_pki;

#endif

6.5 ФАЙЛ SFUN.H

#ifndef _SFUN

#define _SFUN

#include "def.h"

#include

#include

#include

void out_p(real x,real *y,real*,int,int,real *);

real interpl(real*,real*,int,real);

void fct(real& ,real *y,real *dery);

void par_or(real *,real *);

#endif

6.5 ФАЙЛ RK5.H

#ifndef _RK5

#define _RK5

#include "def.h"

#include

#include

#include "sfun.h"

void Drkgs(real *prmt,real *y,real *dery,int ndim,int& ihlf,

void (*fct)(real&,real*,real*),

void (*out_p)(real,real*,real*,int,int,real*));

#endif

6.6 ПРОГРАММА ПОСТРОЕНИЯ ВРЕМЕННЫХ ДИАГРАММ

clc

g_r = pi/180;

r_g = 180/pi;

load m_y.dat

t = m_y(:,1);

x = m_y(:,2);

y = m_y(:,3);

z = m_y(:,4);

Vx = m_y(:,5);

Vy = m_y(:,6);

Vz = m_y(:,7);

clear m_y;

s_tmp = size(t);

s_m = s_tmp(1);

clear s_tmp;

load m_f.dat

Fz = m_f(:,2);

Fs = m_f(:,3);

Fl = m_f(:,4);

Fa = m_f(:,5);

U20 = m_f(:,6);

clear m_f;

load m_s.dat

xs = m_s(:,2);

ys = m_s(:,3);

zs = m_s(:,4);

clear m_s;

load m_par.dat

p = m_par(:,2);

e = m_par(:,3);

a = m_par(:,4);

Om = m_par(:,5);

i = m_par(:,6);

omg = m_par(:,7);

T = m_par(:,8);

u = m_par(:,9);

clear m_par;

p_n = 6952137.;

e_n = 0;

a_n = 6952137.;

Om_n0 = 28.1*g_r;

i_n = 97.6*g_r;

omg_n = 346.725*g_r;

T_n = 5765;

ws = 2*pi/(365.2422*24*3600);

for j = 1:s_m, tmp(j) = Om_n0+ws*t(j);

end

Om_n = tmp';

clear tmp;

map = [1,1,1];

colormap(map);

plot(t,p,'y-',[min(t) max(t)],[p_n p_n],'r-'), title (' Фокальный параметр

'), grid on;

print -dwin;

pause;

plot(t,p-p_n,'y-'), title (' dp '), grid on;

print -dwin;

pause;

plot(t,e,'y-',[min(t) max(t)],[e_n e_n],'r-'), title (' Эксцентриситет '),

grid on;

print -dwin;

pause;

plot(t,e-e_n,'y-'), title (' de '), grid on;

print -dwin;

pause;

plot(t,a,'y-',[min(t) max(t)],[a_n a_n],'r-'), title (' Большая полуось

орбиты '), grid on;

print -dwin;

pause;

plot(t,a-a_n,'y-'), title (' da '), grid on;

print -dwin;

pause;

plot(t,Om*r_g,'y-',t,Om_n*r_g,'r-'), title (' Долгота восходящего узла '),

grid on;

print -dwin;

pause;

plot(t,Om*r_g-Om_n*r_g,'y-'), title (' dOm '), grid on;

print -dwin;

pause;

plot(t,i*r_g,'y-',[min(t) max(t)],[i_n*r_g i_n*r_g],'r-'), title ('

Наклонение '), grid on;

print -dwin;

pause;

plot(t,i*r_g-i_n*r_g,'y-'), title (' di '), grid on;

print -dwin;

pause;

plot(t,T,'y-',[min(t) max(t)],[T_n T_n], 'r-'), title (' Период '), grid

on;

print -dwin;

pause;

plot(t,T-T_n,'y-'), title (' dT '), grid on;

print -dwin;

pause;

plot3(x,y,z,'b')

axis([min(x) max(x) min(y) max(y) min(z) max(z)])

set(gca,'box','on')

title (' Положение МКА ')

hold on

plt = plot3(0,0,0,'.','erasemode','xor','markersize',24);

dk = ceil(length(y)/2500);

for k = 1:dk:length(y)

set(plt,'xdata',x(k),'ydata',y(k),'zdata',z(k))

drawnow

end

hold off

pause;

plot(t,Fz,'y-'), title (' Гравитация Земли ' ), grid on;

print -dwin;

pause;

plot(t,Fs,'y-'), title (' Гравитация Солнца и солнечное давление '), grid

on;

print -dwin;

pause;

plot(t,Fl,'y-'), title (' Гравитация Луны '), grid on;

print -dwin;

pause;

plot(t,Fa,'y-'), title (' Сопротивление атмосферы '), grid on;

print -dwin;

pause;

plot(t,U20,'y-'), title (' Нецентральность гравитационного поля Земли '),

grid on;

print -dwin;

pause;

plot(t,Fz+Fs+Fl+Fa+U20,'y-'), title (' Суммарное возмущающее ускорение '),

grid on;

print -dwin;

pause;

clear all

clc

g_r = pi/180;

r_g = 180/pi;

p_n = 6952137.;

e_n = 0;

a_n = 6952137.;

Om_n0 = 28.1*g_r;

i_n = 97.6*g_r;

omg_n = 346.725*g_r;

T_n = 5765;

load u_par.dat

t_u = u_par(:,1);

p_u = u_par(:,2);

e_u = u_par(:,3);

a_u = u_par(:,4);

Om_u = u_par(:,5);

i_u = u_par(:,6);

omg_u = u_par(:,7);

T_u = u_par(:,8);

u_u = u_par(:,9);

clear u_par;

load u_f.dat;

Fz_u = u_f(:,2);

Fs_u = u_f(:,3);

Fl_u = u_f(:,4);

Fa_u = u_f(:,5);

U20_u = u_f(:,6);

clear u_f;

s_tmp = size(t_u);

s_m_u = s_tmp(1);

clear s_tmp;

ws = 2*pi/(365.2422*24*3600);

for j = 1:s_m_u, tmp(j) = Om_n0+ws*t_u(j);

end

Om_n_u = tmp';

clear tmp;

plot(t_u,p_u,'y-',[min(t_u) max(t_u)],[p_n p_n],'r-'), title (' Фокальный

параметр '), grid on;

print -dwin;

pause;

plot(t_u,p_u-p_n,'y-'), title (' dp '), grid on;

print -dwin;

pause;

plot(t_u,e_u,'y-',[min(t_u) max(t_u)],[e_n e_n],'r-'), title ('

Эксцентриситет '), grid on;

print -dwin;

pause;

plot(t_u,e_u-e_n,'y-'), title (' de '), grid on;

print -dwin;

pause;

plot(t_u,a_u,'y-',[min(t_u) max(t_u)],[a_n a_n],'r-'), title (' Большая

полуось орбиты '), grid on;

print -dwin;

pause;

plot(t_u,a_u-a_n,'y-'), title (' da '), grid on;

print -dwin;

pause;

plot(t_u,Om_u*r_g,'y-',t_u,Om_n_u*r_g,'r-'), title (' Долгота восходящего

узла '), grid on;

print -dwin;

pause;

plot(t_u,Om_u*r_g-Om_n_u*r_g,'y-'), title (' dOm '), grid on;

print -dwin;

pause;

plot(t_u,i_u*r_g,'y-',[min(t_u) max(t_u)],[i_n*r_g i_n*r_g],'r-'), title ('

Наклонение '), grid on;

print -dwin;

pause;

plot(t_u,i_u*r_g-i_n*r_g,'y-'), title (' di '), grid on;

print -dwin;

pause;

plot(t_u,T_u,'y-',[min(t_u) max(t_u)],[T_n T_n], 'r-'), title (' Период '),

grid on;

print -dwin;

pause;

plot(t_u,T_u-T_n,'y-'), title (' dT '), grid on;

print -dwin;

pause;

clear all

Страницы: 1, 2, 3, 4, 5


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.