MI sembra di capire che, forse, semplicemente vuoi:
[*] nella terza colonna i valori ordinati in modo crescente
[*] nella prima e nella seconda, rispettivamente, gli indici della riga e della colonna nella quale i valori erano presenti
Se così è, non sono necessari dei loop:
% Creazione di una matrice di esempio
m=randi(100,4,4)
% Ordinamento dei valori
[val_ord,idx]=sort(m(:))
% Identificazione degli idici riga e colonna
[idx_riga,idx_colonna]=ind2sub([4,4],idx)
% Creazione della matrice di output
m_out=[idx_riga idx_colonna val_ord]
che, partendo da una matrice di esempio:
m =
30 88 12 95
51 99 57 87
31 80 7 80
42 5 73 46
genera la matrice di output:
m_out =
4 2 5
3 3 7
1 3 12
1 1 30
3 1 31
4 1 42
4 4 46
2 1 51
2 3 57
4 3 73
3 2 80
3 4 80
2 4 87
1 2 88
1 4 95
2 2 99
Fai riferimento alla documentazione per i dettagli sulle funzioni usate nello script.