Problem in my for loop to find maximum y value
Mostrar comentarios más antiguos
Hi, my for loop keeps repeating the same third value for the maximum index value. Can anyone please check it for me? the full code is:
for k = 1:3
Driftt = sprintf('Drift%d.out', k);
Reactt = sprintf('React%d.out', k);
matDrift = importdata(fullfile(Driftt));
matReact = importdata(fullfile(Reactt));
x= matDrift(:,2);
y= -sum(matReact(:,2:11),2);
plot(x,y)
hold on;
%
sort = zeros(N,2);
for i=1:N
[valy,idx] = max(y);
sort(i,:) = [x(idx,1),valy];
hold on;
end
end
Respuesta aceptada
Más respuestas (1)
Because you keep overwriting Driftt and Reactt variables in the first for loop. When k=3, Driftt and Reactt arrays take their last shape and therefore you always see same maximum value.
Driftt = sprintf('Drift%d.out', k);
Reactt = sprintf('React%d.out', k);
This part causes the problem. At last when k=3, Driftt is equal to Drift3.out file and same for the other. Change this. You might need indexing.
Categorías
Más información sobre Matrices and Arrays en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!