Effacer les filtres
Effacer les filtres

Indices of a maximum value in a multidimensional matrix.

31 vues (au cours des 30 derniers jours)
Aftab Ahmed Khan
Aftab Ahmed Khan le 25 Juil 2016
Commenté : Aftab Ahmed Khan le 25 Juil 2016
Hi, I have a multidimensional matrix of size (100,16,4,10) and i want to calculate all the 4 indices of the max value in it? Any help please.

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 25 Juil 2016
Modifié(e) : Azzi Abdelmalek le 25 Juil 2016
a=rand(100,16,4,10); %Example
[max_value,idx]=max(a(:))
[x,y,z,w]=ind2sub(size(a),idx)
If the dimension of a is unknown
a=rand(100,16,4,10);
[max_value,idx]=max(a(:))
x=cell(ndims(a),1)
[x{:}]=ind2sub(size(a),idx)
  3 commentaires
Thorsten
Thorsten le 25 Juil 2016
use
b = squeeze(a(25,:,:,:));
and compute x, y, z from b; w is 25 by definition.
Aftab Ahmed Khan
Aftab Ahmed Khan le 25 Juil 2016
Thank you. works like a charm.

Connectez-vous pour commenter.

Plus de réponses (1)

Adam
Adam le 25 Juil 2016
Modifié(e) : Adam le 25 Juil 2016
[maxVal, idx] = max( myMatrix(:) );
[x, y, z, w] = ind2sub( size( myMatrix ), idx );

Catégories

En savoir plus sur Language Fundamentals 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!

Translated by