Курсовая работа по информатике

на тему «Исследование траектории полета ЛА»

Выполнила: студент гр. 030301 Ульянова Т. Ю.


Проверила: доцент каф. ракетного Фомичёва О.А.


Тула 2011


Содержание

1. Введение

2. Физическая модель

3. Математическая модель

4. Решение задачи методом Эйлера

5. Блок-схема

6. Текст программы

7. Результаты расчета

8. Анализ результатов

9. Список литературы


Введение

Важнейшей особенностью современного этапа научно технического прогресса является стремительно возрастающая роль ЭВМ во всех областях инженерной деятельности - от систем автоматизированного проектирования и управления до контроля технологическими процессами. В настоящее время ЭВМ стали необходимым оборудованием НИИ, конструкторских бюро, заводов. Это позволило от простейших расчетов и оценок различных конструкций или процессов перейти к новому уровню инженерной деятельности - детальному математическому моделированию (вычислительному эксперименту), которое существенно сокращает потребность в натурных экспериментах, а в ряде Курсовая работа по информатике случаев может их заменить. В связи с этим современный специалист с высшим образованием должен обладать не только высоким уровнем подготовки по профилю своей специальности, но и хорошо знать математические методы решения инженерных задач, ориентироваться на использование вычислительной техники, практически освоить принципы работы на ЭВМ.


Физическая модель полета ЛА

Траектория полета ракеты представляет собой сложную кривую. Для упрощения расчетов не будем учитывать влияние кривизны и вращения Земли на движение ЛА, а также примем, что движение происходит без колебаний вокруг продольной оси ракеты. Траектория полета делится на два участка: активный (с работающим двигателем) и пассивный (с неработающим двигателем).

С учетом принятых допущений Курсовая работа по информатике центр масс ракеты будет совершать поступательное движение под действием сил, действующих в одной плоскости: Р – силы тяги, Х – силы лобового сопротивления, G – силы тяжести. На рис. 1 показана система сил, приложенных к центру масс ракеты на траектории в произвольный момент времени.

Рис. 1. Схема сил, действующих на центр масс ЛА

ЛА запускается с земли (x0,y0)=(0,0) под углом θ=θ0 к горизонту со скоростью V=V0. Изменением ускорения свободного падения по высоте пренебрегаем (g=const), тягу принимаем постоянной в течение всего времени активного участка (ta), расход массы определяется соотношением mt /ta, где mt – масса топлива.

Методика расчета траектории базируется на основном законе механики (втором законе Курсовая работа по информатике Ньютона), связывающем ускорение, испытываемое точкой массой m под действием силы F:

F =ma.

Если на тело действует несколько сил, то F – равнодействующая сила:

m(t)a(t) = P(t) + G =X(V).


Математическая модель траектории полета ЛА

В соответствие с принятой физической моделью в основе математической модели, описывающей траекторию полета неуправляемого ЛА, лежит система уравнений, описывающих движение тела переменной массы, брошенного под углом к горизонту.



d2x

m(t) = P(t)cos0(t) – X(V)cos0(t)

dt2

d2y

m(t) = P(t)sin0(t) – X(V) sin0(t)-m(t)g(t)

dt2

pBV2

X(V) = cxSM

2

m0 – m Курсовая работа по информатике * t, при t < ta

m(t) = m, при t>ta


m = mt/ta


P, при t< ta

P(t) = 0, при t>ta

(1)

где m(t) – масса ЛА;

x,y– координаты центра масс ЛА на траектории;

cx– коэффициент аэродинамического сопротивления;

pB– плотность воздуха;

SM – площадь миделя (площадь поперечного сечения ЛА);

m0– стартовая масса ЛА.

Дифференциальные уравнения второго порядка в рассмотренной системе (1) могут быть заменены на дифференциальные уравнения первого порядка, заменив

d2x = dVx d2y = dVy

dt2 dt и dt2 dt


dVx

m(t) = = P(t)cos0(t) – X(V)cos0(t)

dt

dVx

m(t) = P(t)sin0(t) – X(V) sin0(t)-m(t)g(t)

dt

dx dy

Vx Курсовая работа по информатике= ; Vy =

dt dt (2)


Решение задачи методом Эйлера

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

Одним из наиболее распространенных методов решения обыкновенных дифференциальных уравнений является метод конечных разностей (МКР). Рассмотрим применение МКР для численного решения на ЭВМ простейшего дифференциального уравнения первого порядка:

dY

= f (X,Y)

dX

с начальными условиями X0 , Y(X0) = Y0.

Решение будем искать в интервале [X0 ,b] и будем полагать, что функция на данном интервале удовлетворяет условиям гладкости.

Разобьем область аргументаХ на множество отрезков длиной ΔX и разложим функцию Yв ряд Тейлора в окрестности произвольной точки Xi из области существования функции:

X X2

Yi+1= Y Курсовая работа по информатике(Xi+ X)= Y(Xi) +1! Y’(X) + 2! Y’’(X) + . . .

Отбрасывая члены ряда, содержащие производные второго и высшего порядков, получаем конечно-разностное выражение первой производной

Yi+1 - Yi

Y’(X) =

X

Отсюда Yi+1 = Yi+ X * f(X,Y)

Вычисляя последовательно от начального значения Y0 значения Y1, Y2, Y3, ... по данной формуле, находим искомое решение.

На рис. 2 показана форма численного решения, получаемого с помощью таких вычислений

Рис.2. Схема приближенного решения методом Эйлера

Данный метод решения обыкновенного дифференциального уравнения носит название метода Эйлера. При достаточно малых величинах шага .Чем меньше шаг , тем точнее получается приближённое решение. Метод Эйлера дает решение с большой точностью, так как погрешность близка Курсовая работа по информатике к 0( ) на каждом шаге процесса.

Для решения системы уравнений (2) методом Эйлера запишем ее в конечно-разностном виде:

xi+1 - xi

Vxi=

t

yi+1 - yi

Vyi=

t

Vxi+1 -V xi

mi =[Pi-Ri]cos0i

t

Vyi+1 -V yi

mi =[Pi-Ri]sin0i - mig ,

t

где i – номер текущего шага по времени.

Выразим в этих уравнениях в явном виде Vxi+1, Vyi+1, xi+1, yi+1

xi+1 = xi +Vxi t

yi+1 = yi +Vyi t

t

Vxi+1 = Vxi + mi [Pi-Ri]cos0i

t

Vyi+1 = Vyi + mi [ [Pi-Ri ]sin0i - mig]

(3)

Решая систему уравнений (3) на каждом шаге по времени, можно последовательно вычислить все точки Курсовая работа по информатике траектории полета ЛА.


Блок-схема



Текст программы


#include

#pragma hdrstop

#include

#include

#include

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

double d=0.15,m0=25,mt=10,ta=5,Cx=0.3,

ro0=1,P=3000,Teta=40,v0=200,g=9.8,

SIN,COS,x,y,t,dt,v0x,v0y,vx,vy,dm,X,mLA,G,v,Sm;

Sm=0.25*3.14*d*d;

Teta=Teta/180.0*3.14;

do

{

Chart1->Series[0]->Clear();

Chart2->Series[0]->Clear();

x=0.0; y=0.0; t=0.0; dt=0.01;

SIN=sin(Teta); COS=cos(Teta);

mLA=m0;

P=3000;

v=v0;

v0x=v*COS; v0y=v*SIN;

vx=v Курсовая работа по информатике0x; vy=v0y;

dm=mt/ta;

do

{t=t+dt;

X=Cx*Sm*ro0*v*v*0.5;

if(t>ta)

{

P=0.0;

}

if(t<=ta)

{

mLA=mLA-dm*dt;

}

else

{

mLA=m0-mt;

}

G=mLA*g;

x=x+dt*vx;y=y=dt*vy;

vx=vx+dt*COS*(P-X)/mLA;

vy=vy+dt*(SIN*(P-X)/mLA-g/mLA);

v=sqrt(vx*vx+vy*vy);

COS=vx/v;SIN=vy/v;

Chart1->Series[0]->AddXY(x,y,"",clRed);

Chart2->Series[0]->AddXY(t,v,"",clRed);

}

while(y>0);

Chart3->Series[0]->AddXY(x,v0,"",clRed);

v0=v0+15;

}

while(v0<=350);

}

//---------------------------------------------------------------------------
Результаты расчета.


Анализ результатов

В результате проделанной работы достигнута Курсовая работа по информатике основная цель: написана программа, вычисляющая траекторию полёта летательного аппарата с заданными начальными параметрами. Кроме этого строится графики зависимости скорости ЛА от времени и дальности полёта от угла бросания. Проведено исследование влияния угла бросания на дальность полета. Полученные результаты показывают что при изменяемом угле бросания с 20 до 35 градусов дальность увеличивается с 16100 м до 18000 м.


Список литературы

1. Бобровский C. Технологии С++ Builder;

2. Стефан Р. Дэвис C++ Для чайников;

3. К. Джамса Учимся программировать на языке С++ К.Джамса;

4. Г. Шилдт Искусство программирования на С++.


documentalznivx.html
documentalznqgf.html
documentalznxqn.html
documentalzofav.html
documentalzomld.html
Документ Курсовая работа по информатике