Effacer les filtres
Effacer les filtres

How to retrieve index in a matrix

1 vue (au cours des 30 derniers jours)
Danish Nasir
Danish Nasir le 28 Juin 2022
Commenté : Voss le 28 Juin 2022
Suppose a matrix A= [20 100 35 50
30 30 25 40
40 5 45 15
50 4 20 20]
After [B,I]=sort (A,’ascend’), I get the index matrix
I= [ 1 4 4 1
2 3 2 3
3 2 1 4
4 1 3 2 ]
Now I want to make a matrix C which have only one index (corrsponds to minima) of each column I which is non repeating
C=[ 1 4 2 3] . The selection of these index will give column wise minima with no repeatation. How to make matrix C?
  2 commentaires
Jonas
Jonas le 28 Juin 2022
i do not fully understand, if you want the index of ea column of minimum element, you can use [~,idx]=min(A), but it gives [1 4 4 3]
Danish Nasir
Danish Nasir le 28 Juin 2022
I do not want repetition of index . C matrix should have unique elements. Since there is a tie between 2nd and 3rd column , so 3rd column index is 2. Now only 3 left as unique index, so 4th cloumn index is 3

Connectez-vous pour commenter.

Réponse acceptée

Voss
Voss le 28 Juin 2022
Modifié(e) : Voss le 28 Juin 2022
One way is to find the index of the minimum in each column of A one at a time, setting that row of A to NaN each time so that that index will not be found again for subsequent columns.
A= [20 100 35 50
30 30 25 40
40 5 45 15
50 4 20 20];
C = zeros(1,size(A,2))
C = 1×4
0 0 0 0
A_temp = A
A_temp = 4×4
20 100 35 50 30 30 25 40 40 5 45 15 50 4 20 20
for ii = 1:size(A_temp,2)
% output displayed in command window
% so you can see the process
[~,C(ii)] = min(A_temp(:,ii))
A_temp(C(ii),:) = NaN
end
C = 1×4
1 0 0 0
A_temp = 4×4
NaN NaN NaN NaN 30 30 25 40 40 5 45 15 50 4 20 20
C = 1×4
1 4 0 0
A_temp = 4×4
NaN NaN NaN NaN 30 30 25 40 40 5 45 15 NaN NaN NaN NaN
C = 1×4
1 4 2 0
A_temp = 4×4
NaN NaN NaN NaN NaN NaN NaN NaN 40 5 45 15 NaN NaN NaN NaN
C = 1×4
1 4 2 3
A_temp = 4×4
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
C
C = 1×4
1 4 2 3
  2 commentaires
Danish Nasir
Danish Nasir le 28 Juin 2022
Thanx a lot....its great....
Voss
Voss le 28 Juin 2022
You're welcome!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by