Create new matrices based on the number of unique values
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
having a matrix
M = [4 7 2; 2 4 7; 2 2 4];
M =
4 7 2
2 4 7
2 2 4
based on the number of unique values (in this case 3), i want to create, 3 new matrices, and its value as follows, where all there is 2, in the first matrix, iall those places needs to be replaced with 1 and all the rest 0, same on taking the next unique number, replace all those places of 4 with 1 and the rest 0 in the second matrix and then next unique number
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/996865/image.png)
Then I need to create new matrices based on the number of unique values and replace the ones in the matrix with the values in M and find the sum of the matrix and find the greatest matrix of its sum.
M = [4 7 2; 2 4 7; 2 2 4];
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/996980/image.png)
sum_M1 = 8;
sum_M1 = 12;
sum_M1 = 14;
so M3 is greatest and i need to get that 3rd unique value, that is 7.
0 Commenti
Risposta accettata
Stephen23
il 14 Mag 2022
Those three matrices are a red-herring.
M = [4,7,2;2,4,7;2,2,4]
[U,~,X] = unique(M(:));
S = accumarray(X,M(:))
[~,Y] = max(S);
U(Y)
0 Commenti
Più risposte (1)
Matt J
il 13 Mag 2022
M = [4 7 2; 2 4 7; 2 2 4];
x=reshape(unique(M),1,1,[]);
output=(M==x)
0 Commenti
Vedere anche
Categorie
Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!