How to find values for corresponding elements

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 件)

カテゴリ

ヘルプ センター および File ExchangeResizing and Reshaping Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by