How to find values for corresponding elements

2 visualizzazioni (ultimi 30 giorni)
Hello
I have a code that when applied to hourly discharge data, it gives the possition of peaks in the data serries. now i want to optain a peak time serries in a vector that has the same length of discharge but only have the peak discharges and the rest are NaN. can anyone help please?? i have included an example to clarify what i need
time(hr) Q given output(hr) wanted output
1 1 3 NaN
2 3 7 NaN
3 5 5
4 3 NaN
5 1 NaN
6 2 NaN
7 6 6
8 2 NaN
9 1 NaN

Risposta accettata

Walter Roberson
Walter Roberson il 15 Apr 2021
wanted_output = nan(length(time_vector),1);
mask = islocalmax(Q);
wanted_output(mask) = Q(mask);
  2 Commenti
Hazhan Majeed
Hazhan Majeed il 16 Apr 2021
many thanks.
i also wanted to shange the length of given-output vector to be the same as length of Q. any idea how i can do that. thanks
Walter Roberson
Walter Roberson il 16 Apr 2021
given_output(end+1:length(time_vector)) = nan;

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by