How to modify this "for" loop so it can read maximum Y value instead of X?
    3 ビュー (過去 30 日間)
  
       古いコメントを表示
    
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 件のコメント
採用された回答
  Walter Roberson
      
      
 2019 年 3 月 4 日
        
      編集済み: Walter Roberson
      
      
 2019 年 3 月 4 日
  
      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 件のコメント
  Walter Roberson
      
      
 2019 年 3 月 4 日
				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
その他の回答 (0 件)
参考
カテゴリ
				Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

