MATLAB: How to read values for the range between each maximum and each minimum from a large uneven data file

datasetmaximummeanminimumtrapz

Hi,
I have a data file with 11000 rows and 4 columns. I need to read all values (in all columns) for data between each maximum and each minimum of column 3. Integrate column 3 and column 4, and calculate the mean of column 2, for each range between the maximum and minimum of column 3. Do I make sense?? I am really unsure about how to start. I am using Matlab2015a. I have attached what I want to do as image. For rudimentary case I can do like shown on the right in figure. But it would take a decade to solve. Need help.

Best Answer

"range between the maximum and minimum of column 3" with a bit of guessing my interpretation is implemented in ixb and ixe
%%


fid = fopen('axn.txt','r');
cac = textscan( fid, '%f%f%f%f', 'CollectOutput',true );
num = cac{1};
[~] = fclose( fid );
%%
ixb = [ 1; find(diff(num(:,3))>0)+1 ]; % beginning of section
ixe = [ ixb(2:end)+1; size(num,1) ]; % end of section
%%
len = length( ixb );
result = nan( len, 2 );
for jj = 1 : len
result(jj,1) = mean(num(ixb(jj):ixe(jj),2));
result(jj,2) = trapz(num(ixb(jj):ixe(jj),3),num(ixb(jj):ixe(jj),4));
end
outputs
>> result
result =
51.494 -10.433
51.472 -23.332
51.479 -0.95127
51.463 -29.865
>>