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

2 views (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 MATLAB 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!