|
|
Koordinaten "schlangenförmig" ordnen |
|
Backtail |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.03.2013, 19:40
Titel: Koordinaten "schlangenförmig" ordnen
|
 |
|
 |
|
Hey,
Ich möchte ein Sortier-Algorithmus finden, mit dem ich x-y koordinaten schlangen förmig ordnen kann.
Ich habe ein unregelmäßiges Messgitter. Da man das ganze Messequipment nicht andauernd hin und herschleppen möchte, sollte immer der nächstgelegene messpunkt gewält werden und man läuft eine "schlange" ab
ich denke ein bild beschreibt mein Problem recht einfach:
über sortrows sind die koordinaten so sortiert, dass die messung so erfolgen würde wie die roten pfeile es darstellen,
dass heißt nach jeder reihe, müsste ich einen "langen" weg auf mich nehmen
ich würde die koordinaten gerne so sortieren wie die gründe schlange es darstellt
wäre das messgitter äquidistant, so könnte man sicherlicher nach jedem wechsel der y koordinate die x werte ab bzw. aufsteigend sortieren
da das gitter jedoch "scattered" ist, weiß ich nicht so recht wie das problem zulösen ist.
wäre über jeden tipp dankbar, auch funktionen aus der file exchange würde ich benutzen. es ist für mich nicht zwingend die sortierung selbst zu programmieren
schönenabend noch
backtail
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.03.2013, 00:17
Titel:
|
 |
Hallo,
du kannst die Blöcke zu den geraden Zeilen (in einer for-Schleife) z.B. mit flipud "auf den Kopf" stellen.
Beinhaltet jede Zeile gleich viele Punkte? Falls ja, ist es relativ einfach.
Falls nein, musst du zunächst z.B. mit logischer Indizierung Anfang und Ende der "Zeilenblöcke" herausfinden.
Grüße,
Harald
|
|
|
backtail |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.03.2013, 20:17
Titel:
|
 |
hey harald
was meinst du mit "geraden" zeilen?
die zeilen beeinhalten nicht gleichviele punkte, es kann sogar der fall eintreten, dass willkürlich irgendwo ein punkt gesetzt wird
und was bedeutet logische indizierung?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.03.2013, 20:27
Titel:
|
 |
|
|
backtail |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.03.2013, 20:40
Titel:
|
 |
danke erstmal für deine beiden zügigen und hilfreichen antworten
aha und wie mach ich matlab verständlich was eine zeile ist?
wäre dein ansatz der logischen indizierung soetwas wie
alle y koordinaten zwischen 0,5<y<1,5 ergeben quasi eine zeile
und als nächsten schritt 1,5<y<2,5 wäre die zweite zeile die ich dann flippen würde?
das könnte funktionieren, wobei dann auch je nach messgitterdichte die grenzen irgenwdie automatisch bestimmt werden müssten
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.03.2013, 22:45
Titel:
|
 |
Hallo,
die Grenzen kannst du z.B. schauen, indem du bei sortierten y-Werten schaust, wann der Abstand zwischen aufeinanderfolgenden y-Werten größer als ein bestimmter Schwellwert ist.
Grüße,
Harald
|
|
|
Seban |

Forum-Meister
|
 |
Beiträge: 600
|
 |
|
 |
Anmeldedatum: 19.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ab R2014b
|
 |
|
|
 |
|
Verfasst am: 19.03.2013, 23:07
Titel:
|
 |
|
|
backtail |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.03.2013, 13:39
Titel:
|
 |
hey
@seban, ja das is mir schon klar, hat aber nichts mit meinem problem zu tun. Es geht um die zeilen der messpunkte im Bild und nicht um zeilen einer matrix
Zitat: |
Hallo,
die Grenzen kannst du z.B. schauen, indem du bei sortierten y-Werten schaust, wann der Abstand zwischen aufeinanderfolgenden y-Werten größer als ein bestimmter Schwellwert ist.
Grüße,
Harald |
macht sinn, aber auch dieser bestimmte Schwellwert muss ja aus dem Messgitter heraus ermittelt werden.
Um diesen Wert zubestimmen muss ich ja gedanklich selbst das messgitter in messreihen aufteilen und dann einen schwellwert festlegen. aber auch dies soll automatisch geschehen
Grüße,
Backtail
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 20.03.2013, 15:05
Titel:
|
 |
Hallo,
du könntest z.B. den durchschnittlichen Unterschied (mean oder vielleicht auch median) der y-Koordinaten aufeinanderfolgender Punkte berechnen (die Punkte sollten dazu nach y-Wert sortiert sein) und dann sagen, dass eine neue Zeile dann beginnt, wenn der Abstand zweier Punkte z.B. mehr als 5 Mal so groß ist wie dieser durchschnittliche Abstand.
Bei deinem Beispieldatensatz sollte das gut gehen. Ich würde das mal anhand einiger Datensätze ausprobieren.
Grüße,
Harald
|
|
|
backtail |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.03.2013, 19:42
Titel:
|
 |
Hey Harald,
vielen Dank, hast ne menge an Grübelei für mich übernommen. Ich denke auch, dass es auf diese weiße für die meisten datensätze halbwegs vernünftig funktionieren müsste. die umsetzung dürfte auch nicht alzu schwierig sein. Werde mich nächste Woche damit auseinandersetzen und gegebenfalls nochmal hier reinschreiben
schönes WE wünsch ich dir
grüße
backtail
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|