Max()-function and multiple dimensions
Afficher commentaires plus anciens
Hello,
I'm trying to maximize a matrix that is of several dimensions. I also need to know the locations of the maximized value, which is actually the problem. How do I go about doing this in the most simple way?
So, for example, x=rand(10,10,10,10,10); Of course, by simple max(max(max(max(x) I could get the maximal value of x. How about the location? (for example the maximum could be located in x(1,2,3,2,4))
Cheers,
M
1 commentaire
Image Analyst
le 10 Août 2014
I think you're getting only answers on how to locate the max value because no one knows what you want to do to maximize the array. What is the array dependent on such that changing those parameters will maximize the array? And what does it mean to maximize an array, as opposed to a single value. Do you want to vary some parameter, say lambda or whatever you want to call it, such that the sum, or mean, of all the values in the array is maximized?
Réponse acceptée
Plus de réponses (1)
Azzi Abdelmalek
le 9 Août 2014
Modifié(e) : Azzi Abdelmalek
le 10 Août 2014
Edit
A=rand(10,10,10,10,10);
[max_value,idx]=max(A(:));
q=['[' sprintf('x%d,',1:ndims(A))];
q(end)=']';
eval([q '=ind2sub(size(A),idx)'])
eval(['x=' q])
1 commentaire
Catégories
En savoir plus sur Matrix Indexing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!