Per ottenere in output tutte le occorrenze, puoi modificare il codice inserito nella precedente risposta sostituendo:
om=[om;um(i) r(1) c(1)]
con
om=[om;repmat(um(i),length(r),1) r c]
In alternativa, puoi creare una matrice con:
[*] prima colonna: tutti i valori della matrice di input (m(:))
[*] seconda colonna: indice delle righe
[*] terza colonna: indice delle colonne
quindi ordinare la matrice in base alla prima colonna.
Codice: Seleziona tutto
tmp=[m(:) repmat([1:size(m,2)]',size(m,1),1) reshape(repmat([1:size(m,2)],size(m,1),1),prod(size(m)),1)]
[~,idx]=sort(tmp(:,1),1,'descend')
om_1=tmp(idx,:)
Se hai "accesso" alla funzione "sortrows" puoi evitare il passaggio intermedio richiesto dall'uso della funzione "sort".