diff --git a/simulator/src/printOutput.m b/simulator/src/printOutput.m index ca3949680c6edf1c4a413340302469d7a735ad82..1038637374d369fee5e4397bc52157e5c439d742 100644 --- a/simulator/src/printOutput.m +++ b/simulator/src/printOutput.m @@ -42,7 +42,8 @@ fprintf('OUTCOMES:\n\n\n') % fprintf('max step omputational Time: %.3f [s]: \n\n', max(cpuTimes)) fprintf('apogee: %.1f [m] \n', max_z); -fprintf('@time: %g [sec] \n\n', T_apo) +fprintf('@time: %g [sec] \n', T_apo) +fprintf('@vz: %g [sec] \n\n', structIn.apogee_vz) fprintf('max speed reached: %g [m/s] \n', max_v) fprintf('@altitude: %g [m] \n', z(imax_v)) diff --git a/simulator/src/std_run.m b/simulator/src/std_run.m index 8a8b98a4689830f2f8a55e906331d65bcaa88f3b..0b31a2515ee76df3aab7e5171cda28a9cecf2501 100644 --- a/simulator/src/std_run.m +++ b/simulator/src/std_run.m @@ -252,6 +252,12 @@ while settings.flagStopIntegration && n_old < nmax % St % drogue_descent if full_flight, % landed if apogee was never detected if flagApogee + v_ned = quatrotate(quatconj(Y0(end, 10:13)), Y0(end, 4:6)); + struct_out.apogee_vz = v_ned(3); + if abs(v_ned(3)) > 5 + disp(v_ned(3)) + error("CRITICAL FAILURE: Expulsion at a too high speed!"); + end state_lastTime(currentState) = t0; % Exit condition of unpowered_ascent / Entry condition of drogue_descent: