Движение управляемого снаряда

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    213,74 Кб
  • Опубликовано:
    2013-06-09
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Движение управляемого снаряда

Задание

Движение управляемого снаряда (по продольному каналу) происходит под действием порохового ускорителя и описывается системой дифференциальных уравнений второго порядка:

 

где X’, V - дальность и скорость в продольном канале, м и м/с; F - сила тяги ускорителя, Н, полагается постоянной по времени на интервале [0, Туск] времени его работы; M - масса снаряда, кг, полагается постоянной по времени; Pa - сила аэродинамического сопротивления, Н, пропорциональная скорости движения Pa = A*V, где A - постоянный коэффициент, .

На старте, t0 = 0, X0 = 0 м, V0 = 0 м/с.

Разработать алгоритмы расчета фазовой траектории управляемого процесса (изменения дальности и скорости объекта на разгоне).

1.     
Постановка задачи, расчетные формулы

 

В начальный момент времени (t0 = 0, X0 = 0, V0 = 0) масса снаряда M(t) постоянна, а изменение скорости - минимально. Следуя из этого, можем сказать, что при прохождение снарядом определенного расстояния, скорость движения будет увеличиваться до определенного момента, пока не достигнет максимальной скорости. Чтобы можно было проследить изменение дальности и скорости снаряда на разгоне, введем шаг замеров h, сек, на котором изменение скорости снаряда будет постоянным. Составим уравнения для расчета скорости и дальности движения в определенный промежуток времени.

1) t0 = 0, X0 = 0, V0 = 00’ = V0*h;

2) t1 = h, X1 = 0+X0’, V1 = 0+V11’ = V1*h;

3) t2 = 2*h, X2 = X1+X1’, V2 = V1+V12’ = V2*h;

……………………….

……………………….

n) tn = n*h, Xn = Xn-1+Xn-1’, Vn = Vn-1+Vn-1’;

Из полученных уравнений выведем одно, с помощью которого мы сможем вычислить точку, в которой находится снаряд в определенный момент времени:

 

Разгон снаряда закончится в момент времени Туск, когда сила тяги ускорителя F станет равной нулю. Так как сила тяги ускорителя снаряда на всех промежутках времени постоянная (кроме конечного), а сила аэродинамического сопротивления будет расти с увеличением скорости, то в какой-то момент времени  станет меньше или равно нулю. В этом случае изменение скорости приравняется к нулю:

 

Обозначим полученную скорость как Vконечное, и в момент времени, когда Vn станет равным Vконечное, изменение скорости станет равным нулю. Следуя из этого, можно сказать, что максимальная скорость снаряда при разгоне определяется его силой тяги ускорителя.


X0 = 0;

V0 = 0 м/с;

h = 0,1 сек;

F = 100 Н;

A = 0,1 ;

Tуск = 10*h = 1 сек;

Пусть масса равна:

M = Const = 10 кг.

Рис. 1. График зависимости дальности разгона снаряда от шага по времени

Рис. 2. График зависимости скорости снаряда от времени

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


.       
Моделирующая программа

using System;

using System. Collections. Generic;System. Linq;System. Text;ConsoleApplication3

{Program

{void Main (string[] args)

{i, x; //x и i вспомогатальные паременные i для цикла, x для массивов и цикла.h, Tk, F, a, M; //Tk время процесса(конечное).s; // вспомогательная переменная чтения с консоли.. Write («введите время процесса»); // ввод данных

s = Console. ReadLine();= double. Parse(s);= Convert. ToInt32 (Tk / h);

Double[] X = new Double [x + 1]; // массивы размерности х+1 (х-число возможных замеров за время Tk +1 необходимо для задания 0-го значения иначе мы бы потеряли последнее значение)

Double[] V = new Double [x + 1];. Write («введите массу»);= Console. ReadLine();= double. Parse(s);. Write («введите силу тяги»);= Console. ReadLine();= double. Parse(s);

Console. Write («введите коэффициент А»);

s = Console. ReadLine();= double. Parse(s);[0] = 0;[0] = 0;(i = 1; x >= i; i++) // расчет значений

{[i] = X [i - 1] + V [i - 1] * h;[i] = V [i - 1] + (F - a * V [i - 1]) / M;

}(i = 0; x >= i; i++)

{. WriteLine («В момент времени» + i * h + «скорость равна» + V[i] + «дальность равна» + X[i] +».»); // вывод

}. ReadLine();

}

}

}

5.      Скриншоты выполняемой программы

Окно ввода данных:


Окно вывода данных:


Программа написана в приложении Visual Studio 2010 на языке программирования C#.

Литература

1. Павловская Т.А.; С#. Программирование на языке высокого уровня. Учебник для вузов. - СПб.: Питер, 2007. - 432 с.


Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!