How do I show which variable is being plotted while using hold?

1 view (last 30 days)
I've modeled a state space system and now want to plot how the state variables change in time.
This is how I've set it up:
hx = phi_t * B
hy = C * phi_t * B
hx1 = [];
hx2 = [];
hx3 = [];
hx4 = [];
hx5 = [];
for i = 0:0.05:10
hx1 = [hx1 subs(hx(1), t, i)];
hx2 = [hx2 subs(hx(2), t, i)];
hx3 = [hx3 subs(hx(3), t, i)];
hx4 = [hx4 subs(hx(4), t, i)];
hx5 = [hx5 subs(hx(5), t, i)];
end
hold on
title('Impulse Response: State Vectors')
plot(hx1)
plot(hx2)
plot(hx3)
plot(hx4)
plot(hx5)
hold off
I'd like to know how I can show the names of the variables in the figure this code gives out, so I can know which is which (x1,x2,x3,x4 and x5). How can I do that?

Accepted Answer

Star Strider
Star Strider on 9 May 2020
Edited: Star Strider on 9 May 2020
The legend function is the most obvious way to designate them. The text function is also an option. It depends on the result you want.
Example —
legend('x1','x2','x3','x4','x5')
.

More Answers (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 9 May 2020
Here is one of the possible easy solutions:
hx = phi_t * B
hy = C * phi_t * B
hx1 = [];
hx2 = [];
hx3 = [];
hx4 = [];
hx5 = [];
for i = 0:0.05:10
hx1 = [hx1 subs(hx(1), t, i)];
hx2 = [hx2 subs(hx(2), t, i)];
hx3 = [hx3 subs(hx(3), t, i)];
hx4 = [hx4 subs(hx(4), t, i)];
hx5 = [hx5 subs(hx(5), t, i)];
end
title('Impulse Response: State Vectors')
plot(hx1, 'b'), hold on, plot(hx2, 'r'), plot(hx3, 'b'), plot(hx4, 'k'), plot(hx5, 'm')
legend('x1', 'x2', 'x3', 'x4', 'x5', 'location', 'best')
hold off

Categories

Find more on 2-D and 3-D Plots 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!