How to modify this "for" loop so it can read maximum Y value instead of X?
    3 views (last 30 days)
  
       Show older comments
    
    Ismail Qeshta
 on 4 Mar 2019
  
    
    
    
    
    Edited: Ismail Qeshta
 on 4 Mar 2019
            Hi,
I have this code that reads maximum X value and its corresponding Y value, and prints all results (Y values) in one file.
I just need to modify this code, so it can read the maximum Y value. 
For example, for the following set of data:
X       Y
1        2
2       16
3        9
4      15
The code reads 4 (as the maximum X value) and prints 15 (as the corresponding Y value to the maximum X).
However, I need the modified code to just read and print 16 (as the maximum Y value).
The code:
S = dir('*.out');
C = natsortfiles({S.name});
N = numel(C);
g = 10;
Z = nan(g,1);
for k = 1:N/g
    for j = 1:g;
        data = load(C{10*(k-1)+j}); 
        [~,idx] = max(data(:,1));
        Z(j) = data(idx,2);
    end
    dlmwrite(['Result_',num2str(k),'.txt'],Z);
end
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 4 Mar 2019
        
      Edited: Walter Roberson
      
      
 on 4 Mar 2019
  
      max(data(:,2)) instead of max(data(:,1)) . And on the next line assign from data(idx,1) instead of data(idx,2) if you want the corresponding X value, or leave it as-is if you want the y value.
3 Comments
  Walter Roberson
      
      
 on 4 Mar 2019
				S = dir('*.out');
C = natsortfiles({S.name});
N = numel(C);
g = 10;
for k = 1:N/g
    Z = nan(g,1);
    for j = 1:g;
        data = load(C{10*(k-1)+j}); 
        Z(j) = max(data(:,2));
    end
    dlmwrite(['Result_',num2str(k),'.txt'],Z);
end
More Answers (0)
See Also
Categories
				Find more on Loops and Conditional Statements in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
