How to plot two equations on two different plots
2 views (last 30 days)
Show older comments
I need to plot Altitude vs Time and Velocity vs Time. But there are two possible equations for each graph, depending on the value of "t". How do I get both of the correct equations to show up on two different graphs?
prompt = 'Time of flight? (s) ';
t = input(prompt)
if (t <= 45)
h = 15*t.^2;
fprintf('Altitude: %dm\n\n', h)
v = 30*t;
fprintf('Velocity: %dm/s\n\n', v);
plot(t, h), xlabel('Time (s)'), ylabel('Altitude (m)'), title('Altitude vs Time')
plot(t, v), xlabel('Time (s)'), ylabel('Velocity (m/s)'), title('Velocity vs Time')
elseif (t > 45)
h = 30375 + (1350*t) + 0.5*(-11.5)*t.^2;
fprintf('Altitude: %dm\n\n', h )
v = 1350 - 11.5*t;
fprintf('Velocity: %dm/s\n\n', v);
plot(t, h), xlabel('Time (s)'), ylabel('Altitude (m)'), title('Altitude vs Time')
plot(t, v), xlabel('Time (s)'), ylabel('Velocity (m/s)'), title('Velocity vs Time')
end
0 Comments
Answers (1)
Arif Hoq
on 4 Feb 2022
Edited: Arif Hoq
on 4 Feb 2022
try this code.
as your output is only a single integer so it's better specify Line style. here i used 'o'. for different plots use subplot.
prompt = 'Time of flight? (s) ';
t = input(prompt)
if (t <= 45)
h = 15*t.^2;
fprintf('Altitude: %dm\n\n', h)
v = 30*t;
fprintf('Velocity: %dm/s\n\n', v);
figure(1)
subplot(2,1,1)
plot(t, h,'o'), xlabel('Time (s)'), ylabel('Altitude (m)'), title('Altitude vs Time')
subplot(2,1,2)
plot(t, v,'o'), xlabel('Time (s)'), ylabel('Velocity (m/s)'), title('Velocity vs Time')
elseif (t > 45)
h = 30375 + (1350*t) + 0.5*(-11.5)*t.^2;
fprintf('Altitude: %dm\n\n', h )
v = 1350 - 11.5*t;
fprintf('Velocity: %dm/s\n\n', v);
figure(2)
subplot(2,1,1)
plot(t, h,'o'), xlabel('Time (s)'), ylabel('Altitude (m)'), title('Altitude vs Time')
subplot(2,1,2)
plot(t, v,'o'), xlabel('Time (s)'), ylabel('Velocity (m/s)'), title('Velocity vs Time')
end
2 Comments
Arif Hoq
on 4 Feb 2022
Edited: Arif Hoq
on 4 Feb 2022
Follow this code:
prompt = 'Time of flight? (s) ';
t = input(prompt)
if t <= 45
h = 15*t.^2;
fprintf('Altitude: %dm\n\n', h)
v = 30*t;
fprintf('Velocity: %dm/s\n\n', v);
figure(1)
subplot(2,1,1)
plot(t, h,'o'), xlabel('Time (s)'), ylabel('Altitude (m)'), title('Altitude vs Time')
equation = sprintf('h = 15*t^2');
text(t, h, equation, 'FontSize', 12, 'Color', 'r','HorizontalAlignment','center','VerticalAlignment','top');
subplot(2,1,2)
plot(t, v,'o'), xlabel('Time (s)'), ylabel('Velocity (m/s)'), title('Velocity vs Time')
equation = sprintf('v = 30*t');
text(t, v, equation, 'FontSize', 12, 'Color', 'r', 'HorizontalAlignment','center','VerticalAlignment','top');
elseif t > 45
h = 30375 + (1350*t) + 0.5*(-11.5)*t.^2;
fprintf('Altitude: %dm\n\n', h )
v = 1350 - 11.5*t;
fprintf('Velocity: %dm/s\n\n', v);
figure(2)
subplot(2,1,1)
plot(t, h,'o'), xlabel('Time (s)'), ylabel('Altitude (m)'), title('Altitude vs Time')
equation = sprintf('h = 30375 + (1350*t) + 0.5*(-11.5)*t^2');
text(t, h, equation, 'FontSize', 12, 'Color', 'r', 'HorizontalAlignment','center','VerticalAlignment','top');
subplot(2,1,2)
plot(t, v,'o'), xlabel('Time (s)'), ylabel('Velocity (m/s)'), title('Velocity vs Time')
equation = sprintf('v = 1350 - 11.5*t');
text(t, v, equation, 'FontSize', 12, 'Color', 'r', 'HorizontalAlignment','center','VerticalAlignment','top');
end
See Also
Categories
Find more on Purple in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!