how to range data and find maximum value for each range by using loop
8 vues (au cours des 30 derniers jours)
abdullah al-dulaimi le 29 Juin 2022
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],:);
a1 = AB([2000:4000],:);
a11 = AB([4000:6000],:);
Pooja Kumari le 29 Juin 2022
Modifié(e) : Pooja Kumari le 29 Juin 2022
Dear abdullah al-dulaimi,
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;
For more information on array indexing, you can refer to the below link: