WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Lokale Maxima 3D

 

Gästchen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.04.2012, 11:05     Titel: Lokale Maxima 3D
  Antworten mit Zitat      
Hallo Forumgemeinde,

ich habe ein kleines Problem. Ich habe ganz viele Punkte mit jeweils einem x, y, und z-Wert. Diese Punkte sind nicht regelmässig verteilt. Nun möchte ich in diesem 3-dimensionalen kartesischen Raum aber lokale Maxima (Minima) finden.

Als erstes dachte ich an eine morphologische Struktur, wie zum Beispiel strel('ball') mit den Dimensionen 2 m Höhe/ 1 m radius und dann die einfach Anwendung von imdilate. Diese setzen allerdings eine regelmässige Verteilung meiner Daten in einem Grid voraus. Jetzt kann ich natürlich meine im Raum verteilten Punkte über meshgrid in ein regelmässiges Format überführen. Aber eigentlich wollte ich so etwas wie einen "Ball" einfach über meine Punktwolke wandern lassen (von Punkt zu Punkt) und für jedes Element in diesem Ball den Maximalwert berechnen, und wenn der gerade aktuelle Punkt mit dem Maxmalwert im Ball übereinstimmt, diesen dann als lokales Maximum definieren.

Gibt es da eine Möglichkeit, die noch einigermassen "schnell" läuft. Bzw. wie kann ich denn ein se/ strukturelement anwenden in der art

Code:

se = strel('ball',2,2,8);
for i = 1:Anzahl Punkte
     punkt_ x = x_werte(i);
     punkt_y = y_werte(i);
     punkt_z = z_werte(i);
     local_max = nanmax(se(punkt_x,punkt_y,punkt_z));
     if local_max = punkt_z;
            local_max_fin(punkt_y,punkt_x) = 2;
     else
            local_max_fin(punkt_y,punkt_x) = 1;
     end
end
 


So funktioniert der Code natürlich nicht... aber so sieht das Konzept zumindest aus. Wink

Jemand eine Idee? Wäre für jeden Hinweis dankbar!

Liebe Grüsse,
Gästchen


Andy386
Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 27.04.2012, 15:45     Titel:
  Antworten mit Zitat      
Wenn du als "Maxima" nur die z-Werte betrachtest, genügt doch das Suchen des Höchsten Punktes (also des höchsten z), dann alle stetig abfallenden (in x & y - wird z immer kleiner?) löschen, dann wieder suchen und wieder löschen usw..
Solange da für ein x&y-Paar keine Punkte übereinander liegen ist alles okay.

Oder dauert das dann auch zu lange?
_________________

Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.