Azzera filtri
Azzera filtri

Arrange points by y cordinate within a stucture array

2 visualizzazioni (ultimi 30 giorni)
Would anyone know a way of arranging a structure arrays points by y cordinate indescending order? I dont even know how to go about starting this. Any help would be appreciated.
For example i have a structure with each field being an element, each element has a cordinate [x,y,z] and id like to order this coulmn of points by the y cordinate.
ive tried using a nested for loop to acheive this to start parcing through the structure, but am not capturing all of the fields in the structure. OutputTable is the structure.
for iRun = 1:1:length(outputTable)
for iObj = 1:1:length(outputTable(iRun).tubingRuns.objects)
objectTable = sort([outputTable.tubingRuns(iRun).objects(iObj).centroid(2)]);
sortTable(iRun).tubingRuns.objects(nextIndex).centroid = objectTable;
end
end

Risposta accettata

Ameer Hamza
Ameer Hamza il 8 Mag 2020
Modificato: Ameer Hamza il 8 Mag 2020
Try something like this
% example struct array 's'.
s(1).coordinate = [1 4 3]; s(1).id = 1;
s(2).coordinate = [8 0 7]; s(2).id = 2;
s(3).coordinate = [5 6 12]; s(3).id = 3;
x = vertcat(s.coordinate);
[~, idx] = sort(x(:,2));
s = s(idx);
elements of 's' are sorted according to second column of 'coordinate'.
  6 Commenti

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by