plot of specified data

2 visualizzazioni (ultimi 30 giorni)
Matt
Matt il 15 Dic 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!

Risposta accettata

Matt Fig
Matt Fig il 15 Dic 2012
Modificato: Matt Fig il 15 Dic 2012
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 Commento
Matt
Matt il 15 Dic 2012
thats one nice, easy solution! i feel a little stupid now, but either way, thanks a lot! :)

Accedi per commentare.

Più risposte (0)

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by