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

 採用された回答

Walter Roberson
Walter Roberson 2021 年 4 月 15 日

1 投票

wanted_output = nan(length(time_vector),1);
mask = islocalmax(Q);
wanted_output(mask) = Q(mask);

2 件のコメント

Hazhan Majeed
Hazhan Majeed 2021 年 4 月 16 日
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 2021 年 4 月 16 日
given_output(end+1:length(time_vector)) = nan;

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by