Create new matrices based on the number of unique values
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Elysi Cochin
el 13 de Mayo de 2022
Respondida: Stephen23
el 14 de Mayo de 2022
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
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];
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 comentarios
Respuesta aceptada
Stephen23
el 14 de Mayo de 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 comentarios
Más respuestas (1)
Matt J
el 13 de Mayo de 2022
M = [4 7 2; 2 4 7; 2 2 4];
x=reshape(unique(M),1,1,[]);
output=(M==x)
0 comentarios
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!