how to range data and find maximum value for each range by using loop
4 ビュー (過去 30 日間)
古いコメントを表示
abdullah al-dulaimi
2022 年 6 月 29 日
コメント済み: abdullah al-dulaimi
2022 年 6 月 29 日
I have data (AB) consisting of two columns. The number of rows of this data is 80315. I want to divide this number into (1: 2000: 80315) and take the maximum values for each period (based on the second column, also i want to index the firt colum).
I using this code but its very long.
a = AB([1:2000],:);
aa=max(a);
a1 = AB([2000:4000],:);
aa1=max(a1);
a11 = AB([4000:6000],:);
aa11=max(a11);
maxvalues=([aa;aa1;aa11])
2 件のコメント
Pooja Kumari
2022 年 6 月 29 日
According to your code, you want to get maximum value for each period, what do you mean by second column?
採用された回答
Pooja Kumari
2022 年 6 月 29 日
編集済み: Pooja Kumari
2022 年 6 月 29 日
It is my understanding that you are facing issues with huge vector and instead of hardcoding, you want a generalized form of code for taking the maximum value for your data for each period by taking 2000 data at a time out of 80315 rows of data.
Please find below an example code for the same with random dataset of 80315 rows and 2 columns:
data = rand(80315,2); %data
index = 1;
for i = 1:1999:80315-1999
array_data = data(i:i+1999,:); %data is divided into %2000 samples at a time.
output(index,1) = max(array_data(:)); %taking max of all values in a period
index = index +1;
end
For more information on array indexing, you can refer to the below link:
Sincerely,
Pooja Kumari
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Graph and Network Algorithms についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!