m_rocket = 95.6;
m_fuel = 15.6;
f_thrust = 10.7;
a_rocket = 0.35;
c_drag = 0.06;
c_dragdown = 0.75;
g = 9.81;
rho_air = 1.225;
drag = 0;
t(1) = 0;
h(1) = 0;
v(1) = 0;
a(1) = -g;
i=1;
h_check = h(1);
t_step = 0.1;
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(i-1)) / (m_rocket);
if m_fuel(i) == 0
m_rocket = 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 * t_step;
h(i) = h(i - 1) + v(i - 1) * t_step + (.5 * m_rocket * 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(2:end))
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')
Best Answer