MATLAB Answers

Matt
0

plot of specified data

Asked by Matt
on 15 Dec 2012
Hello,
I've got a little problem with a plot i'd like to generate. Sadly, I couldn't figure out how to do it.
I have 3 Vectors a, b, and c. a is a time-vector, b is a signal strength and c is the number of the measuring location.
Now I'd like to plot all the signals of the different measuring locations over the time.
Another problem is, that the number of the measuring locations is not always the same. (I'd like them to appear in the plot at the right time and disappear if there are no data.)
example:
a=[1;1;1;1;2;2;2;3;3;3;3;4;4;4;4;4;5;5;5];
b=[20;21;22;24;20;22;24;21;19;20;22;23;24;19;23;19;24;23;22];
c=[2;5;1;3;1;3;2;3;4;5;2;1;2;3;4;5;4;3;2];
at sekond 1 is measured 20dB at location 2
at sekond 1 is measured 21dB at location 5
at sekond 1 is measured 22dB at location 1
at sekond 1 is measured 24dB at location 3
at sekond 2 is measured 20dB at location 1
I hope the problem is clear now, and would be grateful if you told me if it isn't.
Thanks for your help in advance!

  0 Comments

Sign in to comment.

1 Answer

Matt Fig
Answer by Matt Fig
on 15 Dec 2012
Edited by Matt Fig
on 15 Dec 2012
 Accepted Answer

a=[1;1;1;1;2;2;2;3;3;3;3;4;4;4;4;4;5;5;5];
b=[20;21;22;24;20;22;24;21;19;20;22;23;24;19;23;19;24;23;22];
c=[2;5;1;3;1;3;2;3;4;5;2;1;2;3;4;5;4;3;2];
hold all
for ii = 1:5 % Or unique(c(:).') if missing locations
idx = c==ii; % logical index into location.
plot(a(idx),b(idx)); % Plot a vs. b that matches loc.
end
xlabel('Time (s)')
ylabel('Signal Strength (dB)')
legend({'Loc 1';'Loc 2';'Loc 3';'Loc 4';'Loc 5'})

  1 Comment

Matt
on 15 Dec 2012
thats one nice, easy solution! i feel a little stupid now, but either way, thanks a lot! :)

Sign in to comment.