diff --git a/outputs/Acceleration vs Time.png b/outputs/Acceleration vs Time.png new file mode 100644 index 0000000..33d2c2f Binary files /dev/null and b/outputs/Acceleration vs Time.png differ diff --git a/outputs/Altitude vs Time.png b/outputs/Altitude vs Time.png new file mode 100644 index 0000000..ee3972c Binary files /dev/null and b/outputs/Altitude vs Time.png differ diff --git a/outputs/Altitude.gif b/outputs/Altitude.gif new file mode 100644 index 0000000..9e993d3 Binary files /dev/null and b/outputs/Altitude.gif differ diff --git a/outputs/Velocity vs Time.png b/outputs/Velocity vs Time.png new file mode 100644 index 0000000..9a5fcc5 Binary files /dev/null and b/outputs/Velocity vs Time.png differ diff --git a/readme.md b/readme.md index fadbff6..444b3c4 100644 --- a/readme.md +++ b/readme.md @@ -1,5 +1,12 @@ # Lander Landing Simulation +## Results + +![Altitude Over Time Animation](outputs/Altitude.gif) +![Acceleration vs Time](outputs/Acceleration%20vs%20Time.png) +![Velocity vs Time](outputs/Velocity%20vs%20Time.png) +![Altitude vs Time](outputs/Altitude%20vs%20Time.png) + ## Requirements - Aerospace Toolbox diff --git a/simPrototypeSTART.m b/simPrototypeSTART.m index 4009806..e0c39ec 100644 --- a/simPrototypeSTART.m +++ b/simPrototypeSTART.m @@ -36,6 +36,8 @@ plot(simOut.a) title('Acceleration vs Time') xlabel('Time (s)') ylabel('Acceleration (g''s)') +legend('X','Y') +saveas(gcf,'outputs/Acceleration vs Time.png') % Velocity figure(2) @@ -43,27 +45,58 @@ plot(simOut.v) title('Velocity vs Time') xlabel('Time (s)') ylabel('Velocity (m/s)') +legend('X','Y') +saveas(gcf,'outputs/Velocity vs Time.png') % Altitude figure(3)%k) -plot(simOut.h) +plot(sqrt(simOut.h.Data(:,2).^2 + simOut.h.Data(:,1).^2), simOut.h.Time) title('Altitude vs Time') % title(['burnStart = ',num2str(burnStart),' s']) xlabel('Time (s)') ylabel('Altitude (m)') +saveas(gcf,'outputs/Altitude vs Time.png') % Animation -figure(4) +h = figure(4); K = animatedline('Marker', 'o'); axis([0, 2, 0, h_0]) -title('2-D Animation') xlabel('X-Position (m)') -ylabel('Altitde (m)') +ylabel('Altitude (m)') +title('Altitude') grid on + for i = 1 : length(simOut.h.Data) clearpoints(K); addpoints(K, 1, simOut.h.Data(i, 2)); + title(sprintf('Altitude at T = %f', simOut.h.Time(i))) drawnow limitrate + + + % Write Animation to gif, set to zero when testing since its slow to render. + outframes = 0; + if outframes + % Write to the GIF File + if i == 1 + + % Capture the plot as an image + frame = getframe(h); + im = frame2im(frame); + [imind,cm] = rgb2ind(im,256); + + %initalize plot + imwrite(imind,cm,'outputs/Altitude.gif','gif', 'Loopcount',inf); + + elseif mod(i,floor(length(simOut.h.Data)/outframes)) == 0 + % Capture the plot as an image + frame = getframe(h); + im = frame2im(frame); + [imind,cm] = rgb2ind(im,256); + + % Append to plot + imwrite(imind,cm,'outputs/Altitude.gif','gif','WriteMode','append', 'DelayTime', .2); + end + end end