how to find max of 1000 values which are rows,i wrote a code it showed just one value and index that is not the max
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
shina mokhtari
el 17 de Feb. de 2016
Comentada: shina mokhtari
el 17 de Feb. de 2016
filename='realtimevalues.xlsx';
num=xlsread(filename);
y=filename(1,:);
[val idx]=max(y(:))
0 comentarios
Respuesta aceptada
Image Analyst
el 17 de Feb. de 2016
num is a 2D array of numbers, or it may be depending on how your data area arranged in the workbook. y is the first character of filename, which is 'r'. I think you want
y = num(1, :); % Extract first row only.
2 comentarios
Titus Edelhofer
el 17 de Feb. de 2016
Hmm, in the original post it's
y = filename(1,:)
?
y=num(:)
or
y=num(1,:)
both should give reasonable results, depending of what is searched for ...
Más respuestas (1)
Titus Edelhofer
el 17 de Feb. de 2016
Hi Shina,
what exactly is the question: you think val is not the maximum of y? I don't see how this can happen ... Or are you interested in all indices where y is taking it's maximum? In this case you could do something like
idx = find(y(:)==max(y(:)));
Note though, that this is sensitive to floating point accuracy, so if you have
y = [1 1.0000000001 1]
this would find only idx=2.
Titus
Ver también
Categorías
Más información sobre Startup and Shutdown en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!