How to modify this "for" loop so it can read maximum Y value instead of X?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Ismail Qeshta
le 4 Mar 2019
Modifié(e) : Ismail Qeshta
le 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 commentaires
Réponse acceptée
Walter Roberson
le 4 Mar 2019
Modifié(e) : Walter Roberson
le 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 commentaires
Walter Roberson
le 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
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!