Number of peaks per interval
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Priscilla
am 2 Aug. 2020
Kommentiert: Alan Stevens
am 2 Aug. 2020
how can I count the number of peaks in a given time interval such that if there was no peak detected the count is 0.
This is what I have so far
[time peakcount] =
1 1
2 2
3 1
4 2
6 3
8 2
I would like to have something like this NB: row 5 and 7. thanks
[time peakcount] =
1 1
2 2
3 1
4 2
5 0
6 3
7 0
8 2
0 Kommentare
Akzeptierte Antwort
Star Strider
am 2 Aug. 2020
Bearbeitet: Star Strider
am 2 Aug. 2020
One approach:
t_pc = [ 1 1
2 2
3 1
4 2
6 3
8 2];
t_pc2 = [min(t_pc):max(t_pc); zeros(1,numel(min(t_pc):max(t_pc)))].';
t_pc2(t_pc(:,1),2) = t_pc(:,2)
producing:
t_pc2 =
1 1
2 2
3 1
4 2
5 0
6 3
7 0
8 2
A more efficient version:
t_pc2 = (min(t_pc):max(t_pc)).';
t_pc2(t_pc(:,1),2) = t_pc(:,2)
.
0 Kommentare
Weitere Antworten (1)
Alan Stevens
am 2 Aug. 2020
How about:
newtime = 1:max(time);
newpeakcount(time) = peakcount;
2 Kommentare
Alan Stevens
am 2 Aug. 2020
No. It returns the counts with the zeros added, albeit transposed (but that's easily fixed);
newtime =
1 2 3 4 5 6 7 8
newpeakcount =
1 2 1 2 0 3 0 2
Siehe auch
Kategorien
Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!