Загрузил Семён Косовский

Расчёт траектории неуправляемого ракетного снаряда

Реклама
Исходные данные (вариант 13):
калибр
d ≔ 220 mm
полная масса ЛА
m0 ≔ 270 kg
масса топлива
mT ≔ 40 kg
время горения топлива
ta ≔ 4 s
длина направляющих
LH ≔ 5 m
угол подъёма направляющих
θД ≔ 45 °
m
эффективная скорость истечения
ue ≔ 2500 ―
s
коэффициент трения скольжения
fтр ≔ 0.15
kg
плотность воздуха на уровне моря
ρ0 ≔ 1.23 ――
m3
p0 ≔ 101300 Pa давление на уровне моря
коэффициент адиабаты для воздуха
γ ≔ 1.4
-3 kg
молярная масса воздуха
μ ≔ 29 ⋅ 10 ――
mol
J
универсальная газовая постоянная
Rt ≔ 8.31 ―――
mol ⋅ K
температура при нормальных условиях
T ≔ 298 K
коэффициент форм
i ≔ 1.15
шаг интегрирования
h ≔ 0.01 s
Решение
Расчёт силы тяги реактивного двигателя
mT
kg
= 10 ―
Q ≔ ――
эффективная скорость истечения продуктов сгорания
s
ta
сила тяги реактивного двигателя
R ≔ Q ⋅ ue = 25 kN
Расчёт времени и скорости схода с направляющих
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
2 ⋅ LH
tД ≔ ―――――――――― = 0.344 s
R
- g ⋅ ⎛⎝sin ⎛⎝θД⎞⎠ + fтр ⋅ cos ⎛⎝θД⎞⎠⎞⎠
――
m0
⎛ R
⎞
m
- g ⋅ ⎛⎝sin ⎛⎝θД⎞⎠ + fтр ⋅ cos ⎛⎝θД⎞⎠⎞⎠⎟ ⋅ ta = 338.472 ―
VД ≔ ⎜――
s
⎝ m0
⎠
Выведение зависимостей величин от высоты полёта ЛА
π ⋅ d2
площадь миделя
S ≔ ――= 0.038 m 2
4
-yc
―――
10000 m
зависимость плотности от высоты полёта
ρ ⎛⎝yc⎞⎠ ≔ ρ0 ⋅ e
xc , yc координаты центра масс ЛА в стартовой системе координат
p ⎛⎝yc⎞⎠ ≔ p0 ⋅ e
-μ ⋅ g ⋅ yc
――――
Rt ⋅ T
барометрическая формула
Создание непрерывной зависимости значения эталонного
коэффициента лобового сопротивления от скорости из значений
таблицы Сиаччи (см. Приложение 1)
CX_эт ((x)) ≔ ‖ for i ∊ 0 ‥ length ⎛⎝Vт⎞⎠ - 1| |
‖
|
Создание непрерывной зависимости значения эталонного
коэффициента лобового сопротивления от скорости из значений
таблицы Сиаччи (см. Приложение 1)
CX_эт ((x)) ≔ ‖ for i ∊ 0 ‥ length ⎛⎝Vт⎞⎠ - 1| |
‖
||
‖ ‖ if x ≤ Vт |
||
i|
‖ ‖
||
|
‖ ‖ ‖C
||
‖ ‖ ‖ Xэтi |
||
|
‖ ‖ ‖
||
‖ ‖ ‖ break |
||
|
‖ ‖ else
||
|
‖ ‖ ‖
||
|
‖ ‖‖ ‖ 0.5
| ||
‖
CX ((V)) ≔ i ⋅ CX_эт ((V))
Расчёт силы лобового сопротивления
1
X ⎛⎝t , yc⎞⎠ ≔ ―⋅ CX ((V)) ⋅ ρ ⎛⎝yc⎞⎠ ⋅ S ⋅ ((V ((t)))) 2
2
Ограничения
Начальные приближения
Полёт летательного аппарата на активном участке
траектории описывается следующими уравнениями
V ⎛⎝tД⎞⎠ = VД
θ ⎛⎝tД⎞⎠ = θД
yc ⎛⎝tД⎞⎠ = LH ⋅ sin ⎛⎝θД⎞⎠
xc ⎛⎝tД⎞⎠ = LH ⋅ cos ⎛⎝θД⎞⎠
⎛ d ⎞
1
m ((t)) ⋅ ⎜――
V⎟ = R - m ((t)) ⋅ g ⋅ sin ((θ ((t)))) - ―⋅ CX ((V)) ⋅ p ((t)) ⋅ S ⋅ ((V ((t)))) 2
2
⎜⎝ dt ⎟⎠
⎛ d ⎞
m ((t)) ⋅ V ((t)) ⋅ ⎜――
θ⎟ = -m ((t)) ⋅ g ⋅ cos ((θ ((t))))
dt
⎜⎝
⎟⎠
Решатель
d
xc = V ((t)) ⋅ cos ((θ ((t))))
――
dt
d
yc = V ((t)) ⋅ sin ((θ ((t))))
――
dt
m ((t)) = m0 - Q ⋅ t
Решение системы уравнений, описывающих полёт летательного аппарата
на активном участке траектории, методом Эйлера
t0 ≔ tД
tk ≔ ta
начальное значение аргумента
конечное значение аргумента
Решение системы уравнений, описывающих полёт летательного аппарата
на активном участке траектории, методом Эйлера
t0 ≔ tД
tk ≔ ta
tk - t0
n ≔ ――
h
начальное значение аргумента
конечное значение аргумента
количество участков разбиения
начальные условия
y0_x ≔ LH ⋅ cos ⎛⎝θД⎞⎠ = 3.536 m
y0_y ≔ LH ⋅ sin ⎛⎝θД⎞⎠ = 3.536 m
y0_V ≔ VД
y0_θ ≔ θД
Qx ((t , y , V , θ)) ≔ V ⋅ cos ((θ))
Qy ((t , y , V , θ)) ≔ V ⋅ sin ((θ))
1
R - ⎛⎝m0 - Q ⋅ t⎞⎠ ⋅ g ⋅ sin ((θ)) - ―⋅ CX ((V)) ⋅ ρ ((y)) ⋅ S ⋅ V 2
2
QV ((t , y , V , θ)) ≔ ――――――――――――――――
m0 - Q ⋅ t
-g ⋅ cos ((θ))
Qθ ((t , y , V , θ)) ≔ ――――
V
m
qx ≔ Qx ⎛⎝t0 , y0_y , y0_V , y0_θ⎞⎠ = 239.336 ―
0
s
m
qy ≔ Qy ⎛⎝t0 , y0_y , y0_V , y0_θ⎞⎠ = 239.336 ―
0
s
m
qV ≔ QV ⎛⎝t0 , y0_y , y0_V , y0_θ⎞⎠ = 80.592 ―
0
s2
1
qθ ≔ Qθ ⎛⎝t0 , y0_y , y0_V , y0_θ⎞⎠ = -0.02 ―
0
s
‖
|
R_1 ≔ yx ← y0_x
‖ 0
|
‖
|
‖ yy0 ← y0_y
|
‖
|
‖ yV0 ← y0_V
|
‖
|
‖ yθ ← y0_θ
|
‖ 0
|
‖ R ← yx
|
0
‖ 0,0
|
‖R ←y
|
y0
‖ 0,1
|
‖
|
‖ R0 , 2 ← yV0
|
‖
|
‖ R0 , 3 ← yθ0
|
‖
|
||
‖ for i ∊ 1 ‥ n
||
‖ ‖
||
‖ ‖ t ← t0 + h ⋅ i
||
y
←
y
+
q
⋅
h
‖ ‖ x
xi - 1
xi - 1
||
‖ ‖ i
||
‖ ‖ yy ← yy + qy ⋅ h
i-1
i-1
||
‖ ‖ i
||
‖ ‖y ←y
Vi - 1 + qVi - 1 ⋅ h
||
‖ ‖ Vi
||
‖ ‖
||
‖ ‖ yθi ← yθi - 1 + qθi - 1 ⋅ h
||
‖ ‖
s
m
qV ≔ QV ⎛⎝t0 , y0_y , y0_V , y0_θ⎞⎠ = 80.592 ―
0
s2
1
qθ ≔ Qθ ⎛⎝t0 , y0_y , y0_V , y0_θ⎞⎠ = -0.02 ―
0
s
‖
|
R_1 ≔ yx ← y0_x
‖ 0
|
‖
|
‖ yy0 ← y0_y
|
‖
|
‖ yV0 ← y0_V
|
‖
|
‖ yθ ← y0_θ
|
‖ 0
|
‖ R ← yx
|
0
‖ 0,0
|
‖R ←y
|
y0
‖ 0,1
|
‖
|
‖ R0 , 2 ← yV0
|
‖
|
‖ R0 , 3 ← yθ0
|
‖
|
||
‖ for i ∊ 1 ‥ n
||
‖ ‖
||
‖ ‖ t ← t0 + h ⋅ i
||
y
←
y
+
q
⋅
h
‖ ‖ x
xi - 1
xi - 1
||
‖ ‖ i
||
‖ ‖ yy ← yy + qy ⋅ h
i-1
i-1
||
‖ ‖ i
||
‖ ‖y ←y
Vi - 1 + qVi - 1 ⋅ h
||
‖ ‖ Vi
||
‖ ‖
||
‖ ‖ yθi ← yθi - 1 + qθi - 1 ⋅ h
||
‖ ‖
‖ ‖ qxi ← Qx ⎛t , yyi , yVi , yθi⎞ | |
⎜⎝
⎟⎠ | |
‖ ‖
‖ ‖ qy ← Qy ⎛t , yy , yV , yθ ⎞ | |
i
i
i⎟
⎜⎝
⎠ ||
‖ ‖ i
‖ ‖ qV ← QV ⎛t , yy , yV , yθ ⎞ | |
i
i
i⎟ |
‖ ‖ i
⎜⎝
⎠ |
‖ ‖ q ← Q ⎛t , y , y , y ⎞ | |
θ
yi
Vi
θi
‖ ‖ θi
⎜⎝
⎟⎠ | |
||
‖ ‖
||
‖ ‖ Ri , 0 ← yxi
||
‖ ‖
||
‖ ‖ Ri , 1 ← yyi
||
‖ ‖
||
‖ ‖ R ← yV
i
||
‖ ‖ i,2
||
‖ ‖ R ← yθ
i
|| |
‖ ‖‖ i , 3
‖
|
|
‖R
i≔0‥n
x_Активный_Эйлера ≔ R_1
y_Активный_Эйлера ≔ R_1
0
i
θ_Активный_Эйлера ≔ R_1
i
i,0
i,3
i
i,1
V_Активный_Эйлера ≔ R_1
i
i,2
Решение системы уравнений, описывающих полёт летательного аппарата
на активном участке траектории, методом Рунге-Кутта
N≔4
t0 ≔ tД
tk ≔ ta
tk - t0
n ≔ ――
h
количество уравнений
начальное значение аргумента
конечное значение аргумента
количество участков разбиения
Унификация переменных
x0 = x x1 = y x2 = V x3 = θ
начальные условия
Y0 ≔ LH ⋅ cos ⎛⎝θД⎞⎠ = 3.536 m
0
Y0 ≔ LH ⋅ sin ⎛⎝θД⎞⎠ = 3.536 m
1
m
Y0 ≔ VД = 338.472 ―
2
s
Y0 ≔ θД = 0.785
3
Запись функций
Q0 ((t , y , V , θ)) ≔ V ⋅ cos ((θ))
Q1 ((t , y , V , θ)) ≔ V ⋅ sin ((θ))
1
R - ⎛⎝m0 - Q ⋅ t⎞⎠ ⋅ g ⋅ sin ((θ)) - ―⋅ CX ((V)) ⋅ ρ ((y)) ⋅ S ⋅ V 2
2
Q2 ((t , y , V , θ)) ≔ ――――――――――――――――
m0 - Q ⋅ t
-g ⋅ cos ((θ))
Q3 ((t , y , V , θ)) ≔ ――――
V
⎡ Q0 ((t , y , V , θ)) ⎤
⎢ (
⎥
Q1 (t , y , V , θ))
⎢
⎥
(
)
W (t , y , V , θ) ≔
⎢ Q2 ((t , y , V , θ)) ⎥
⎢⎣ Q3 ((t , y , V , θ)) ⎥⎦
R_2 ≔ ‖ yA ← 0 m
‖ 0
‖
|
‖ for j ∊ 0 ‥ N - 1|
‖
‖ yA ← Y0
|
j
‖ ‖‖ j
|
‖
|
for
j
∊
0
‥
N
1
‖
|
‖
‖ R ← yA
|
‖
0,j
j
‖ ‖
|
‖
for
i
∊
1
‥
n
‖
‖ ‖ qA ← W ⎛t0 , yA , yA , yA ⎞
вектор производных исходных функций
|
|
|
|
|
|
|
|
|
|
||
||
|
|
R_2 ≔ ‖ yA ← 0 m
‖ 0
|
‖
|
|
‖ for j ∊ 0 ‥ N - 1|
|
‖ ‖ yA ← Y0
|
|
j
‖ ‖‖ j
|
|
‖
|
|
‖ for j ∊ 0 ‥ N - 1|
|
‖ ‖ R ← yA
|
|
j
‖ ‖‖ 0 , j
|
|
‖
||
‖ for i ∊ 1 ‥ n
||
‖ ‖ qA ← W ⎛t0 , yA , yA , yA ⎞
||
1
2
3⎟
⎜⎝
‖ ‖
⎠
||
‖ ‖ for j ∊ 1 ‥ N - 1
|
||
‖ ‖ ‖
|
||
h|
‖ ‖ ‖y ←y +q ⋅―
||
Aj
Aj
‖ ‖ ‖ Bj
|
2
||
|
‖ ‖ ‖
||
⎛
⎞
h
‖ ‖
||
←
+
,
,
,
q
W
t
y
y
y
⎜ 0 ― B1 B2 B3⎟
‖ ‖ B
2
||
⎝
⎠
‖ ‖
||
|
‖ ‖ for j ∊ 0 ‥ N - 1
||
|
‖ ‖ ‖
h
||
‖ ‖ ‖ yCj ← yAj + qBj ⋅ ―|
||
2 ||
‖ ‖ ‖‖
||
‖ ‖
⎛
⎞
h
||
‖ ‖ qC ← W ⎜t0 + ―, yC , yC , yC ⎟
||
1
2
3
2
‖ ‖
⎝
⎠
||
‖ ‖ for j ∊ 0 ‥ N - 1
|
||
‖ ‖ ‖
|
||
‖ ‖ ‖ yDj ← yAj + qCj ⋅ h |
||
|
‖ ‖ ‖
||
‖ ‖ qD ← W ⎛t0 + h , yD , yD , yD ⎞
||
1
2
3⎟
‖ ‖
⎜
⎝
⎠
||
‖ ‖ for j ∊ 0 ‥ N - 1
|
||
‖ ‖ ‖
|
||
h
‖ ‖ ‖
|
⎛
⎛
⎞
⎞
⋅ qA + 2 ⋅ qB + qC + qD | |
‖ ‖ ‖ Δyi ← ―
j⎟
j⎟ | |
6
⎜⎝ j
⎜⎝ j
⎠
⎠ |
‖ ‖ ‖
|||
‖
yA ← yA + Δy
‖
|||
j
j
i
‖
‖ ‖ ‖
|||
‖ ‖ ‖ R ← yA
|||
j
‖ ‖ ‖ i,j
|||
‖ ‖t ←t +h
|| |
0
‖ ‖‖ 0
|
‖‖ R
||
i≔0‥n
Разбиение на выходные функции
x_Активный_Рунге ≔ R_2
y_Активный_Рунге ≔ R_2
i
θ_Активный_Рунге ≔ R_2
i
i,0
i
i,1
V_Активный_Рунге ≔ R_2
i
i,2
i,3
tАктивный ≔ t0 , t0 + h ‥ tk =
⎡ 0.344 ⎤
⎢ 0.354 ⎥ s
⎢
⎥
⎣⋮
⎦
Полёт летательного аппарата на пассивном участке траектории
описывается следующими уравнениями
Решатель
Ограничения
Начальные приближения
Полёт летательного аппарата на пассивном участке траектории
описывается следующими уравнениями
V ⎝⎛ta⎠⎞ = V_Активный_Рунге
length ⎛⎝V_Активный_Рунге⎞⎠ - 1
θ ⎛⎝ta⎞⎠ = θ_Активный_Рунге
length ⎝⎛θ_Активный_Рунге⎠⎞ - 1
yc ⎛⎝ta⎞⎠ = y_Активный_Рунге
length ⎛⎝y_Активный_Рунге⎞⎠ - 1
xc ⎛⎝ta⎞⎠ = x_Активный_Рунге
⎛
⎞
length ⎝x_Активный_Рунге⎠ - 1
⎛ d ⎞
1
⎛⎝m0 - mT⎞⎠ ⋅ ⎜――
V⎟ = -⎛⎝m0 - mT⎞⎠ ⋅ g ⋅ sin ((θ ((t)))) - ―⋅ CX ((V)) ⋅ ρ ((y)) ⋅ S ⋅ ((V ((t)))) 2
2
⎜⎝ dt ⎟⎠
⎛ d ⎞
V ((t)) ⋅ ⎜――
θ⎟ = -g ⋅ cos ((θ ((t))))
dt
⎜⎝
⎟⎠
d
xc = V ((t)) ⋅ cos ((θ ((t))))
――
dt
d
yc = V ((t)) ⋅ sin ((θ ((t))))
――
dt
Решение системы уравнений, описывающих полёт летательного аппарата
на пассивном участке траектории, методом Эйлера
начальное значение аргумента
t0 ≔ ta = 4 s
начальные условия
y0_x ≔ x_Активный_Эйлера
y0_y ≔ y_Активный_Эйлера
length ⎛⎝x_Активный_Эйлера⎞⎠ - 1
length ⎛⎝x_Активный_Эйлера⎞⎠ - 1
y0_V ≔ V_Активный_Эйлера
y0_θ ≔ θ_Активный_Эйлера
= ⎛⎝1.283 ⋅ 10 3 ⎞⎠ m
= ⎛⎝1.201 ⋅ 10 3 ⎞⎠ m
m
= 618.708 ―
s
= 0.73
length ⎛⎝x_Активный_Эйлера⎞⎠ - 1
length ⎛⎝x_Активный_Эйлера⎞⎠ - 1
Qx ((t , y , V , θ)) ≔ V ⋅ cos ((θ))
Qy ((t , y , V , θ)) ≔ V ⋅ sin ((θ))
1
-⎛⎝m0 - mT⎞⎠ ⋅ g ⋅ sin ((θ)) - ―⋅ CX ((V)) ⋅ ρ ((y)) ⋅ S ⋅ V 2
2
QV ((t , y , V , θ)) ≔ ―――――――――――――――
m0 - mT
-g ⋅ cos ((θ))
Qθ ((t , y , V , θ)) ≔ ――――
V
Подставим начальные значения
m
m
qx ≔ Qx ⎛⎝t0 , y0_y , y0_V , y0_θ⎞⎠ = 461.198 ― qy ≔ Qy ⎛⎝t0 , y0_y , y0_V , y0_θ⎞⎠ = 412.428 ―
0
0
s
s
m
1
qV ≔ QV ⎛⎝t0 , y0_y , y0_V , y0_θ⎞⎠ = -34.473 ―
qθ ≔ Qθ ⎛⎝t0 , y0_y , y0_V , y0_θ⎞⎠ = -0.012 ―
2
0
0
s
s
‖
|
R_3 ≔ yx ← y0_x
‖ 0
|
‖
|
‖ yy0 ← y0_y
|
‖
|
‖ yV0 ← y0_V
|
‖
|
‖ yθ ← y0_θ
|
‖ 0
|
‖
Подставим начальные значения
m
m
qx ≔ Qx ⎛⎝t0 , y0_y , y0_V , y0_θ⎞⎠ = 461.198 ― qy ≔ Qy ⎛⎝t0 , y0_y , y0_V , y0_θ⎞⎠ = 412.428 ―
0
0
s
s
m
1
qV ≔ QV ⎛⎝t0 , y0_y , y0_V , y0_θ⎞⎠ = -34.473 ―
qθ ≔ Qθ ⎛⎝t0 , y0_y , y0_V , y0_θ⎞⎠ = -0.012 ―
2
0
0
s
s
‖
|
R_3 ≔ yx ← y0_x
‖ 0
|
‖
|
‖ yy0 ← y0_y
|
‖
|
‖ yV0 ← y0_V
|
‖
|
‖ yθ ← y0_θ
|
‖ 0
|
‖ R ← yx
|
0
‖ 0,0
|
‖R ←y
|
y0
‖ 0,1
|
‖
|
‖ R0 , 2 ← yV0
|
‖
|
‖ R0 , 3 ← yθ0
|
‖
|
‖i←1
|
‖ while 1
||
‖ ‖
|
|||
‖ ‖ ‖ t ← t0 + h ⋅ i
|
| |
‖ ‖‖
y
←
y
+
q
⋅
h
‖
|||
x
x
x
‖ ‖
i
i-1
i-1
|||
‖ ‖‖
|||
‖ ‖ ‖ yyi ← yyi - 1 + qyi - 1 ⋅ h
|||
‖ ‖‖
|
‖ ‖ ‖ yVi ← yVi - 1 + qVi - 1 ⋅ h | | |
| |
‖ ‖‖
|||
‖ ‖ ‖ yθ ← yθ + qθ ⋅ h
|||
i-1
i-1
‖ ‖‖ i
|
‖ ‖ ‖ q ← Q ⎛t , y , y , y ⎞ | | |
x
x
y
V
θ
i
i
i⎟ | |
‖ ‖‖ i
⎝⎜
⎠ ||
‖ ‖‖
||
⎛
⎞
‖ ‖ ‖ qyi ← Qy ⎜t , yyi , yVi , yθi⎟ | | |
⎝
⎠
| |
‖ ‖‖
|
‖ ‖ ‖ qVi ← QV ⎛t , yyi , yVi , yθi⎞ | | |
⎜⎝
⎟⎠ |
‖ ‖‖
||
‖
⎛
⎞
‖ ‖ qθi ← Qθ t , yyi , yVi , yθi | | |
⎜⎝
⎟⎠ | | |
‖ ‖‖
| |
‖ ‖ ‖ R ← yx
i
|||
‖ ‖‖ i,0
|||
‖ ‖‖R ←y
y
|||
i
‖ ‖‖ i,1
|||
‖ ‖‖
|||
‖ ‖ ‖ Ri , 2 ← yVi
|||
‖ ‖‖
‖
|||
‖ ‖ Ri , 3 ← yθi
|||
‖ ‖‖
|||
‖ ‖ ‖ if yyi ≤ 0 |
|||
|
‖ ‖‖
‖
|||
‖ ‖ ‖ break |
|
|||
‖ ‖‖ ‖
|| | |
‖ ‖‖
‖i←i+1
|
‖
|
R
‖
|
|
x_Пассивный_Эйлера ≔ ‖ i ← 0
‖
|
‖ q0 ← R_30 , 0
|
‖
|
‖ while R_3i , 1 ≥ 0| |
||
‖
||
‖
‖ i←i+1
||
‖ ‖
‖ ‖ qi ← R_3i , 0 | |
||
‖ ‖
‖‖ q
||
|
y_Пассивный_Эйлера ≔ ‖ i ← 0
‖
|
‖ q0 ← R_30 , 1
|
‖
|
‖ while R_3i , 1 ≥ 0| |
||
‖
||
‖
‖ i←i+1
||
‖ ‖
‖ ‖ qi ← R_3i , 1 | |
||
‖ ‖
‖
||
‖q
‖
‖
|
|
‖
‖ ‖ ‖ ‖ break |
|
‖ ‖‖ ‖
‖
i
←
i
+
1
‖ ‖‖
‖
‖R
|
|||
|
| |
|| | |
|
|
|
|
x_Пассивный_Эйлера ≔ ‖ i ← 0
‖
|
‖ q0 ← R_30 , 0
|
‖
|
‖ while R_3i , 1 ≥ 0| |
||
‖
||
‖
‖ i←i+1
||
‖ ‖
‖ ‖ qi ← R_3i , 0 | |
||
‖ ‖
‖‖ q
||
|
y_Пассивный_Эйлера ≔ ‖ i ← 0
‖
|
‖ q0 ← R_30 , 1
|
‖
|
‖ while R_3i , 1 ≥ 0| |
||
‖
||
‖
‖ i←i+1
||
‖ ‖
‖ ‖ qi ← R_3i , 1 | |
||
‖ ‖
‖
||
‖q
|
V_Пассивный_Эйлера ≔ ‖ i ← 0
‖
|
‖ q0 ← R_30 , 2
|
‖
|
‖ while R_3i , 1 ≥ 0| |
||
‖
||
‖ ‖i←i+1
||
‖
‖
‖ ‖ qi ← R_3i , 2 | |
||
‖ ‖
‖‖ q
||
|
θ_Пассивный_Эйлера ≔ ‖ i ← 0
‖
|
‖ q0 ← R_30 , 3
|
‖
|
‖ while R_3i , 1 ≥ 0| |
||
‖
||
‖ ‖i←i+1
||
‖
‖
‖ ‖ qi ← R_3i , 3 | |
||
‖ ‖
‖
||
q
‖
⎡4
⎤
⎢
⎛
⎛
⎞
⎞
4.01 ⎥ s
tПассивный_Эйлера ≔ ta , ta + h ‥ ta + h ⋅ ⎝length ⎝x_Пассивный_Эйлера⎠ - 1⎠ =
⎢
⎥
⎣⋮
⎦
Решение системы уравнений, описывающих полёт летательного аппарата
на пассивном участке траектории, методом Рунге-Кутта
Унификация переменных
x0 = x x1 = y x2 = V x3 = θ
начальные условия
Y0 ≔ x_Активный_Рунге
0
Y0 ≔ y_Активный_Рунге
1
length ⎛⎝x_Активный_Рунге⎞⎠ - 1
length ⎛⎝x_Активный_Рунге⎞⎠ - 1
Y0 ≔ V_Активный_Рунге
2
Y0 ≔ θ_Активный_Рунге
3
N≔4
t0 ≔ ta
= ⎛⎝1.284 ⋅ 10 3 ⎞⎠ m
= ⎛⎝1.202 ⋅ 10 3 ⎞⎠ m
m
= 618.682 ―
s
= 0.73
length ⎛⎝x_Активный_Рунге⎞⎠ - 1
length ⎛⎝x_Активный_Рунге⎞⎠ - 1
количество уравнений
начальное значение аргумента
Запись функций
Q0 ((t , y , V , θ)) ≔ V ⋅ cos ((θ))
Q1 ((t , y , V , θ)) ≔ V ⋅ sin ((θ))
1
-⎛⎝m0 - mT⎞⎠ ⋅ g ⋅ sin ((θ)) - ―⋅ CX ((V)) ⋅ ρ ((y)) ⋅ S ⋅ V 2
2
Q2 ((t , y , V , θ)) ≔ ―――――――――――――――
m0 - mT
(
)
-g ⋅ cos (θ)
Q3 ((t , y , V , θ)) ≔ ――――
V
⎡ Q0 ((t , y , V , θ)) ⎤
⎢ (
⎥
Q (t , y , V , θ))
⎥
W ((t , y , V , θ)) ≔ ⎢ 1
⎢ Q2 ((t , y , V , θ)) ⎥
⎢⎣ Q3 ((t , y , V , θ)) ⎥⎦
R_4 ≔ ‖ yA ← 0 m
‖ 0
вектор производных исходных функций
|
|
⎝ 0
T⎠
X
2
Q2 ((t , y , V , θ)) ≔ ―――――――――――――――
m0 - mT
-g ⋅ cos ((θ))
Q3 ((t , y , V , θ)) ≔ ――――
V
⎡ Q0 ((t , y , V , θ)) ⎤
⎢ (
⎥
Q1 (t , y , V , θ))
⎢
⎥
(
)
W (t , y , V , θ) ≔
⎢ Q2 ((t , y , V , θ)) ⎥
⎢⎣ Q3 ((t , y , V , θ)) ⎥⎦
вектор производных исходных функций
|
R_4 ≔ ‖ yA ← 0 m
‖ 0
|
‖
|
|
‖ for j ∊ 0 ‥ N - 1|
|
‖ ‖ yA ← Y0
|
|
j
‖ ‖‖ j
|
|
‖
|
|
‖ for j ∊ 0 ‥ N - 1|
|
‖ ‖ R ← yA
|
|
j
‖ ‖‖ 0 , j
|
|
‖
|
‖i←1
|
||
‖ while 1
||
‖ ‖ q ← W ⎛t , y , y , y ⎞
0
A1
A2
A3
||
‖ ‖ A
⎜⎝
⎟⎠
||
‖ ‖
|
for
j
∊
1
‥
N
1
||
‖ ‖
|
‖
||
‖
‖
h|
||
‖ ‖ ‖ yBj ← yAj + qAj ⋅ ―
2 ||
||
‖ ‖ ‖‖
||
‖ ‖
⎛
⎞
h
||
←
+
,
,
,
q
W
t
y
y
y
―
‖
‖
⎜0
B
B1
B2
B3⎟
2
||
⎝
⎠
‖ ‖
||
|
‖ ‖ for j ∊ 0 ‥ N - 1
||
|
‖
‖
‖
h|
||
‖ ‖ ‖ yC ← yA + qB ⋅ ―
||
j
j 2 |
‖ ‖ ‖‖ j
|
||
‖ ‖
⎛
⎞
h
||
‖
‖ q ← W t + ―, y , y , y
⎜0
C1
C2
C3⎟
||
‖ ‖ C
2
⎝
⎠
||
‖ ‖ for j ∊ 0 ‥ N - 1
|
||
‖ ‖
|
‖
||
‖
y
←
y
+
q
⋅
h
‖
D
Aj
Cj
|
||
‖ ‖ ‖‖ j
|
||
‖ ‖ q ← W ⎛t + h , y , y , y ⎞
D
0
D
D
D
||
‖
‖
1
2
3⎟
⎝⎜
⎠
|
‖ ‖
|||
‖ ‖ for j ∊ 0 ‥ N - 1
|||
‖ ‖ ‖
h
|
‖ ‖ ‖ Δyi ← ―⋅ ⎛qAj + 2 ⋅ ⎛qBj + qCj⎞ + qDj⎞ | | |
6 ⎜⎝
⎜⎝
⎟⎠
⎟⎠ | | |
‖ ‖ ‖
||
‖
‖ ‖ yA ← yA + Δy
|||
j
j
i
‖
‖
‖
|||
‖ ‖ ‖ R ← yA
|||
j
‖ ‖ ‖‖ i , j
|||
‖ ‖
|
|
||
‖ ‖ if Ri , 1 < 0
|
||
‖ ‖
‖
||
‖ ‖ ‖ break ||
||
‖ ‖i←i+1
||
‖
‖
‖‖ R
|
Разбиение на выходные функции
|
x_Пассивный_Рунге ≔ ‖ q ← R_4
‖ 0
|
0,0
‖
|
‖i←0
|
‖ while R_4i , 1 ≥ 0| |
||
‖
|
|
y_Пассивный_Рунге ≔ ‖ q ← R_4
‖ 0
|
0,1
‖
|
‖i←0
|
‖ while R_4i , 1 ≥ 0| |
||
‖
|
‖ ‖ ‖ break |
‖ ‖i←i+1
‖ ‖
‖‖ R
Разбиение на выходные функции
|
x_Пассивный_Рунге ≔ ‖ q ← R_4
‖ 0
|
0,0
‖
|
‖i←0
|
‖ while R_4i , 1 ≥ 0| |
||
‖
||
‖ ‖i←i+1
||
‖
‖
‖ ‖ qi ← R_4i , 0 | |
||
‖ ‖
‖‖ q
||
|
V_Пассивный_Рунге ≔ ‖ q ← R_4
‖ 0
|
0,2
‖
|
‖i←0
|
‖ while R_4i , 1 ≥ 0| |
||
‖
||
‖ ‖i←i+1
||
‖
‖
‖ ‖ qi ← R_4i , 2 | |
||
‖ ‖
‖‖ q
||
|
tПассивный_Рунге ≔ ‖ i ← 0
‖
|
‖ q0 ← ta
|
‖
|
‖ while R_4i , 1 ≥ 0| |
||
‖
||
‖
‖ i←i+1
‖
‖ q ←t +h⋅i ||
||
a
‖ ‖ i
||
‖ ‖
q
‖
|
||
||
||
|
|
y_Пассивный_Рунге ≔ ‖ q ← R_4
‖ 0
|
0,1
‖
|
‖i←0
|
‖ while R_4i , 1 ≥ 0| |
||
‖
||
‖ ‖i←i+1
||
‖
‖
‖ ‖ qi ← R_4i , 1 | |
||
‖ ‖
‖
||
q
‖
|
θ_Пассивный_Рунге ≔ ‖ q ← R_4
‖ 0
|
0,3
‖
|
‖i←0
|
‖ while R_4i , 1 ≥ 0| |
||
‖
||
‖ ‖i←i+1
||
‖
‖
‖ ‖ qi ← R_4i , 3 | |
||
‖ ‖
‖
||
q
‖
Приложение
Табл. 1. Значения дальности полёта и последнее значение высоты при различных методах
численного интегрирования и шагах интегрирования.
Табл. 2. Зависимость эталонного коэффициента лобового сопротивления от скорости.
Получившиеся зависимости для шага интегрирования h = 0.01 s
Получившиеся зависимости для шага интегрирования h = 0.01 s
6.3⋅10³
5.6⋅10³
4.9⋅10³
y_Активный_Рунге ((m))
4.2⋅10³
3.5⋅10³
2.8⋅10³
y_Активный_Эйлера ((m))
2.1⋅10³
1.4⋅10³
700
0
-700
0
2⋅10³
4⋅10³
6⋅10³
8⋅10³
1⋅10⁴
1.2⋅10⁴ 1.4⋅10⁴ 1.6⋅10⁴ 1.8⋅10⁴
x_Активный_Рунге ((m))
x_Активный_Эйлера ((m))
x_Пассивный_Рунге ((m))
x_Пассивный_Эйлера ((m))
2⋅10⁴
y_Пассивный_Рунге ((m))
y_Пассивный_Эйлера ((m))
620
⎛m⎞
V_Активный_Рунге ⎜―⎟
⎝ s ⎠
585
550
515
480
⎛m⎞
V_Пассивный_Рунге ⎜―⎟
⎝ s ⎠
445
410
375
⎛m⎞
V_Активный_Эйлера ⎜―⎟
⎝ s ⎠
340
305
270
0
7
14
21
28
tАктивный ((s))
35
tАктивный ((s))
42
49
56
63
tПассивный_Рунге ((s))
70
77
⎛m⎞
V_Пассивный_Эйлера ⎜―⎟
⎝ s ⎠
tПассивный_Эйлера ((s))
50
40
30
20
θ_Активный_Рунге ((°))
10
0
0
7
14
21
28
35
42
49
56
63
-10
70
77
θ_Активный_Эйлера ((°))
-20
θ_Пассивный_Рунге ((°))
-30
-40
θ_Пассивный_Эйлера ((°))
-50
-60
tАктивный ((s))
tАктивный ((s))
tПассивный_Рунге ((s))
tПассивный_Эйлера ((s))
Выводы
При выполнении лабораторной работы был произведён расчёт траектории
неуправляемого реактивного летательного аппарата малой дальности. Учтена
зависимость давления окружающей среды от высоты полёта и плотности воздуха от
высоты полёта. Произведён приблизительных расчёт коэффициента лобового
Выводы
При выполнении лабораторной работы был произведён расчёт траектории
неуправляемого реактивного летательного аппарата малой дальности. Учтена
зависимость давления окружающей среды от высоты полёта и плотности воздуха от
высоты полёта. Произведён приблизительных расчёт коэффициента лобового
сопротивления по таблице Сиаччи.
Решена система дифференциальных уравнений, описывающая движение
летательного аппарата на активном участке траектории с учётом изменения массы
вследствие сгорания топлива и на пассивном участке траектории.
Получены зависимости высоты полёта от дальности, скорости от времени, угла
тангажа от времени. В таблице видно расхождение положения траектории и
значений скорости и угла тангажа при использовании различных методов численного
интегрирования, что обусловлено появлением накапливающейся погрешности.
Построена таблица, отражающая связь дальности и величины шага
интегрирования. Также показано, что при относительно больших шагах крайняя
точка опускается ниже нулевого уровня высоты вследствие малой разрешающей
способности дробления.
Скачать