探空火箭优化设计
该任务旨在设计二级探空火箭并优化其一级和二级推进剂分配方案,以最大化火箭飞行高度。通过程序模拟火箭飞行过程,设置一级和二级推进剂质量、总比冲和发动机推力等参数,并计算火箭飞行高度。运行结果显示,最大高度为20077米,对应的一级参数配置为质量100 kg,总比冲240000,推力20000 N,飞行时间12秒;二级参数配置为质量80 kg,总比冲160000,推力3824 N,飞行时间41.84秒。
请采用编程方法,对以下参数进行计算与分析:推力为60kg,总冲量为400KN·s,总推进剂质量为180kg,火箭总质量为500kg。请设计二级探空火箭,并对一二级质量分配方案进行优化设计,以实现火箭飞行高度的最大化。
程序编的比较粗糙,仅供参考。
clear
clc
Cd=0.2;%阻力系数
Cl=0.1;%升力系数
alpha=0; %攻角
S=0.1; %参考面积,m^2
g=9.8; %重力加速度
row=1; %大气密度
Dt=0.001;
n1=1;
for m1=40:20:110 %一级推进剂质量,kg
m2=180-m1; %二级推进剂质量,kg
for I1=100000:20000:300000 %一级总比冲
I2=400000-I1; %二级总比冲
for F1=(500*g+100):500:20000
t1=I1/F1;
for F2=((500-m1-20)*g+100):500:20000
t2=I2/F2;
x = 0;
y = 0;
v = 35;
t = 0;
弹道倾角theta = 90 * pi / 180; % 弹道倾角
flag = 0;
dy = 0;
进入循环:
if v达到零:
flag = 0;
转至末尾处理;
end
if dy为负:
flag = 0;
转至末尾处理;
end
if t小于t1:
F = F1;
质量M = 500 - (m1 / t1) * t;
if M小于等于500 - m1 - 20:
flag = 1;
非正常中止;
转至末尾处理;
end
elseif t小于t1 + t2:
F = F2;
质量M = 500 - m1 - 20 - ((180 - m1) / t2) * t;
if M小于等于60:
flag = 1;
非正常中止;
转至末尾处理;
end
else:
F = 0;
质量M = 60;
end
加速度dv = (F * cos(alpha) - 0.5 * rho * v^2 * Cd * S - M * g * sin(theta)) / M;
角加速度dtheta = (F * sin(alpha) + 0.5 * rho * v^2 * Cl * S - M * g * cos(theta)) / (M * v);
dy = v * sin(theta);
dx = v * cos(theta);
v=v+dvDt;
theta=theta+dthetaDt;
y=y+dyDt;
x=x+dxDt;
t=t+Dt;
end
if flag==1
continue;
end
state(:,n1)=[m1;m2;I1;I2;F1;F2;t1;t2]; %一二级参数配置
y_store(n1)=y; %高度
n1=n1+1;
end
end
end
end
[H_max,n]=max(y_store);
disp('最大高度为:')
H_max
disp('------相应参数配置-----')
disp('一级配置:')
disp('一级质量:')
state(1,n)
disp('一级总比冲:')
state(3,n)
disp('一级发动机推力:')
state(5,n)
disp('一级飞行时间:')
state(7,n)
disp('二级配置:')
disp('二级质量:')
state(2,n)
disp('二级总比冲:')
state(4,n)
disp('二级发动机推力:')
state(6,n)
disp('二级飞行时间:')
state(8,n)
运行结果:
最大高度为:
H_max =
2.0077e+004
------相应参数配置-----
一级配置:
一级质量:
ans =
100
一级总比冲:
ans =
240000
一级发动机推力:
ans =
20000
一级飞行时间:
ans =
12
二级配置:
二级质量:
ans =
80
二级总比冲:
ans =
160000
二级发动机推力:
ans =
3.8240e+003
二级飞行时间:
ans =
41.8410
