Daten in einer Matrix sortieren(MATLAB)

~DeD~

Enthusiast
Thread Starter
Mitglied seit
26.01.2006
Beiträge
2.870
Ort
Das kleine Haus auf Karkand
Hi,

ich habe hier einige daten aus einer .dat-datei zu sortieren. diese sind x,y,z-koordinaten aus einer bildaufnahme entstanden. das ganze ist ein rauheitsprofil. x und y spannen quasie die ebene auf und z gibt die höhe in dem jeweiligen punkt.

das problem ist beim export dieser daten werden die bildinfos von der laicasoftware in bildzeilen gespeichert. also 3 spalten aber in der form

0 0 z
0 1 z
0 2 z
0 3 z
. . .
. . .
1 0 z
1 1 z
1 2 z

und so weiter. damit ich das plotten kann brauche ich das ganze aber richtig geordnet. wie stelle ich das an?
sortrows kann ich ja nicht benutzen, da x und y nicht immer gleich sind.
es müssten ja nur die zeilen umsortiert werden.

mir schwebt da sowas vor wie:

for i=1:size(M)
zwert in der matrix von links nach rechts schreiben bis sich der y-wert ändert, danach die nächste zeile beginnen.
.
.
.
end

es sind etwas über 440.000 zeilen zu sortieren.

hier nochmals ein kleiner auszug aus der matrix

634,949 | 0 |-1,86372
635,779 | 0 |-1,97151
636,609 | 0 | -1,97192
0 | 0,830 | 0,0382
0,830 | 0,830 | 0,03466
1,66000 | 0,830 | 0,01768
2,49000 | 0,830 | -0,03613
3,32000 | 0,830 | -0,11543
4,15000 |0,830 | -0,15536

ich hbae halt den ersten y-wert und alle dazugehörigen x-werte der zeile aus dem bild. im edeffekt muss ich ich das so sortieren, dass ich es als 3D plot mir anzeigen kann.


edit:

Problem gelöst, nach etwas überlegungsarbeit ist mir eingefallen, dass ich die ersten beiden spalten ja garnet brauche

y = find(M:-),1)< 0.1);

for n = 1:size(y)-1
Msort(n,: ) = M(y(n):y(n+1)-1,3)';
end

figure(1)
mesh(Msort)
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh