Assigning indexes in an array and finding max values in a selected range
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
FW
il 26 Apr 2019
Commentato: Walter Roberson
il 26 Apr 2019
If we have X = time series data and signal in a 8000x 2 array (Matlab 2017b). The first column is time and the second column is signal of light absorbance. How can we find a maximum value in the selected range say from row 4000:5000 of the second column? Additionally, I would to like generate another column within X containing the index of each entry so that it becomes 8000x3 array. Thanks.
0 Commenti
Risposta accettata
Walter Roberson
il 26 Apr 2019
Assuming that X is a timeseries object (and not a Simulink time series):
rstart = 4000; rend = 5000;
[maxabs, maxidx] = max(X.Data(rstart:rend,2));
maxloc = rstart + maxidx - 1;
data_there = X.Data(maxloc,:);
It is not clear to me what the third column would be an index of?
4 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!