%% Knowns
clear
clc
m_rocket = 95.6; %total mass of rocket (gm)
m_fuel = 15.6; %mass of fuel
f_thrust = 10.7; %force of thrust in N
a_rocket = 0.35; %sqm
c_drag = 0.06; %coefficient of drag
c_dragdown = 0.75; %c drag while falling down due to parachute
g = 9.81; %m/s^2
rho_air = 1.225; %kg/cubicm
drag = 0;
t(1) = 0; %time elapsed
h(1) = 0; %height m/s
v(1) = 0; %velocity m/s
a(1) = -g; %m/s
%% While loop
i=1
h_check = h(1)
t_step = 0.1 %seconds
while h_check >= 0
a(i+1) = ((m_rocket * g) – (0.5 * rho_air*v(i).^2 * c_drag * a_rocket)) / (m_rocket);
v(i+1) = v(i) + (a(i)*t_step);
h(i+1) = h(i) + (v(i)*t_step);
t(i+1) = t(i) + t_step;
h_check = h(i+1);
i = i + 1;
if (m_fuel(i – 1) – 5 * t_step) > 0
m_fuel(i) = m_fuel(i – 1) – 5 * t_step;
f_thrust(i) = f_thrust(1);
else
m_fuel(i) = 0;
f_thrust(i) = 0;
end
a_thrust(i) = (f_thrust(i) – drag) ./ (m_rocket); %a_thrust = acceleration due to thrust
if m_fuel(i) == 0
m_rocket(i) = a(1);
else
m_total(i) = (a_thrust(i – 1) + g);
end
drag(i) = -v(i-1) * abs(v(i-1)) * .0075;
v(i) = v(i-1) + m_rocket(i) * t_step;
h(i) = h(i – 1) + v(i – 1) * t_step + (.5 * m_rocket(i – 1) * t_step .^2)
a(i+1) = ((-m_rocket * g) + (0.5 * rho_air*v(i).^2 * c_drag * a_rocket)) / (m_rocket);
end
figure
plot (t,f_thrust)
title('Time vs Trust')
xlabel('Time')
ylabel('Thrust')
figure
plot (t,a)
title('Time vs Acceleration')
xlabel('Time')
ylabel('Acceleration')
figure
plot (t,v)
title('Time vs Velocity')
xlabel('Time')
ylabel('Velocity')
figure
plot (t,h)
title('Time vs Altitude')
xlabel('Time')
ylabel('Altitude')
Line 81, v(i) = v(i-1) + m_rocket(i) * t_step; , is what's giving me trouble.
(Excuse the mess, I'm pretty new at this.)
Best Answer