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

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

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

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

12. «Типовые нормы времени на программирование задач для ЭВМ», утвержденные постановлением Государственного комитета СССР по труду и социальным вопросам и Секретариата ВЦСПС от 27 июля 1987 г. №454/22-70

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

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

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

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

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

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

19. «Современные нормы электростатического и электромагнитного излучения», «Computer World» №7, 1995.3

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

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

#include <fstream.h>

#include <iostream.h>

#include <conio.h>

#include <stdlib.h>

#include "rk5.h"

#include "sfun.h"

#include "init.h"

#include <math.h>

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<11)

{

cout << '\n' << "Успешное завершение моделирования" << '\n';

cout << " t0 = " << t_beg << " tk = " << t_end << " dt = " << dt;

cout << '\n' << "Число делений шага=" << ihlf;

}

else

{

cout << '\n' << "Ненормальное завершение моделирования" << '\n';

cout << " t0 = " << t_beg << " tk = " << t_end << " dt = " << dt;

cout << '\n' << "Число делений шага=" << ihlf;

}

getch();

m_y.close();

m_f.close();

m_s.close();

m_l.close();

m_par.close();

u_f.close();

u_par.close();

k_par.close();

}

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

{

if (x >= (dTp*Curp))

{

Curp++;

gotoxy(1,20);

cout << "Процесс выполнения:" << float(Curp)*100./Np << " % " << '\n';

cout.precision(7);

m_y << x << '\t' << y[0] << '\t' << y[1] << '\t' << y[2] << '\t'

<< y[3] << '\t' << y[4] << '\t' << y[5] << '\n';

m_f << x << '\t' << Fz << '\t' << Fs << '\t' << Fl << '\t' << Fa

<< '\t' << U20 << '\n';

m_s << x << '\t' << xs << '\t' << ys << '\t' << zs << '\n';

m_l << x << '\t' << xl << '\t' << yl << '\t' << zl << '\n';

m_par << x << '\t' << par[0] << '\t' << par[1] << '\t' << par[2]

<< '\t' << par[3] << '\t' << par[4] << '\t' << par[5]

<< '\t' << par[6] << '\t' << par[7] << '\n';

}

if (Fl_u && (par[7] > parn[7]))

{

Fl_u = 0;

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

u_par << x << '\t' << par[0] << '\t' << par[1] << '\t' << par[2]

<< '\t' << par[3] << '\t' << par[4] << '\t' << par[5]

<< '\t' << par[6] << '\t' << par[7] << '\n';

u_f << x << '\t' << Fz << '\t' << Fs << '\t' << Fl

<< '\t' << Fa << '\t' << U20 << '\n';

}

if ((x > 79000) && (x < 81000))

{

k_par << x << '\t' << par[5] << '\t' << par[7] << '\n';

}

}

6.2. ПОДПРОГРАММА РАСЧЕТА ВОЗМУЩАЮЩИХ УСКОРЕНИЙ, ПАРАМЕТРОВ ОРБИТЫ И КОРРЕКЦИИ SFUN.CPP

#include "sfun.h"

const real p = 4.64e-6;

const real sm_s = 8.;

const real A = 1.496e11;

const real Cx = 2.;

const real sm_a = 2.5;

const real ro = 5.098e-13;

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

void fct(real& t, real *f, real *dery)

{

real x = f[0];

real y = f[1];

real z = f[2];

real Vx = f[3];

real Vy = f[4];

real Vz = f[5];

real Tet_s = (28.1+60*g_r)+w_s*t;

real e_0 = 23.45*g_r;

xs = A*cos(Tet_s);

ys = A*sin(Tet_s)*cos(e_0);

zs = A*sin(Tet_s)*sin(e_0);

real Tet_l = 0+w_l*t;

real Om_l = 0-ww_l*t;

real i_l = acos(cos(e_0)*cos(5.15*g_r)-sin(e_0)*sin(5.15*g_r)*cos(Om_l));

real rsr_l = 3.8448e8;

xl = rsr_l*(cos(Tet_l)*cos(Om_l)-cos(i_l)*sin(Tet_l)*sin(Om_l));

yl = rsr_l*(cos(Tet_l)*sin(Om_l)+cos(i_l)*sin(Tet_l)*cos(Om_l));

zl = rsr_l*sin(i_l)*sin(Tet_l);

real R_ka = sqrt(x*x+y*y+z*z);

real Fz_x = -mu_z*x/pow(R_ka,3.);

real Fz_y = -mu_z*y/pow(R_ka,3.);

real Fz_z = -mu_z*z/pow(R_ka,3.);

real mu_sd = p*sm_s*A*A/m;

real R_s = sqrt((x-xs)*(x-xs)+(y-ys)*(y-ys)+(z-zs)*(z-zs));

real Fs_x = -(mu_s-mu_sd)*x/pow(R_s,3.);


Страница: