Sorting matrix based on the sum of the rows

7 visualizaciones (últimos 30 días)
Eunan McShane
Eunan McShane el 9 de Jul. de 2019
Comentada: Eunan McShane el 9 de Jul. de 2019
I am trying to sort the matrix 'counts' (attached as csv) so that the sum of the rows increases to the 512th pixel so that I have effectively lowest sum to highest sum in order
Thank you

Respuesta aceptada

Akira Agata
Akira Agata el 9 de Jul. de 2019
Like this?
% Read data from CSV
A = csvread('Counts.csv');
% Calculate order vector (pt) based on sum(A,2)
[~,pt] = sort(sum(A,2));
% Sort the matrix
B = A(pt,:);

Más respuestas (1)

Bob Thompson
Bob Thompson el 9 de Jul. de 2019
A = randi(100, 10, 10);
sums = sum(A,2);
[~,I] = sort(sums);
B = A(I',:);
There may be a better way of doing this, but this is the first thing that came to mind. Just replace A with your data.

Categorías

Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by