|
|
Dichtebestimmung von Scatter3 |
|
gecko |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 25.02.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.02.2014, 10:18
Titel: Dichtebestimmung von Scatter3
|
|
Hey Leute,
ich bin Matlab Anfängerin und habe da ein kleines Problem.
Ich habe eine Kurve (s.Bild) und möchte gerne die Menge an Punkten in meinem 3d-Raum sinnvoll bestimmen. Also die Dichte.
Da es sehr viele Werte sind habe ich mir gedacht ich unterteile den Raum in viele kleine Würfel und bestimme dann die Anzahl an Punkten pro Würfel.
Leider weiß ich nicht wie das funktioniert.
Ich habe auch schon überlegt ein Histogramm zu verwenden, jedoch weiß ich nicht wie ich das mit mehr als 2 Vektoren anstelle.
Ich hoffe jemand hat eine Idee.
Beschreibung: |
|
Download |
Dateiname: |
Beispiel.jpg |
Dateigröße: |
112.64 KB |
Heruntergeladen: |
492 mal |
|
|
|
|
|
gecko |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 25.02.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.03.2014, 18:39
Titel:
|
|
Hat keiner eine Idee? Wie kann ich es denn schaffen, dass ich in einem hist3 auf der Z-Achse nicht die Häufigkeit sondern mir eine beliebige Anzahl von Werten aussuchen kann?
|
|
|
Nras |
Forum-Meister
|
|
Beiträge: 608
|
|
|
|
Anmeldedatum: 21.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.12.0.635 (R2011a)
|
|
|
|
|
|
Verfasst am: 05.03.2014, 10:42
Titel:
|
|
Hallo,
deine Idee klingt doch ganz gut und nicht so schwierig umzusetzen. Was hast du denn bisher probiert und was hat nicht geklappt? Eine Implementierung mit notfalls 3 ineinandergeschachtelten for-Schleifen über den Raum ODER mit einer Schleife über die Daten und 3 find Befehlen für die 3 Raumrichtungen sollte doch eigentlich recht schnell zum Ziel führen.
Wie willst du das Ergebnis visualisieren? Eine Möglichkeit wäre beispielsweise in jedem der kleinen Würfel (eher Quader) einen Kreis zu plotten, die Größe oder die Farbe des Kreises kann dann die "Dichte" jedes einzelnen Würfels kodieren.
Also, woran scheitert es?
Viele Grüße,
Nras.
|
|
|
gecko |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 25.02.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.03.2014, 16:31
Titel:
|
|
Hi,
also ich habe bis jetzt einfach den hist3(X,bins) Befehl verwendet. Dabei wird X durch meine Kräfte in x-und y-Richtung beschrieben. Ich würde da auch noch meine Kräfte in z-Richtung mit reinnehmen können. Also so, dass auf der z-Achse nicht die Höhe der Bins aufgezeigt wird sondern die Kraft in z-Richtung. Die Größe der Bins kann ich mir dann ja mit bincounts ausgeben lassen.
Ich habe das mal angehangen, wie das jetzt bei mir aussieht.
Dein Vorschlag hört sich wirklich gut an. Da ich aber totale Anfängerin bin, habe ich keine eine wie so eine Schleife aussehen muss.
Beschreibung: |
|
Download |
Dateiname: |
beispiel1.jpg |
Dateigröße: |
94.89 KB |
Heruntergeladen: |
448 mal |
|
|
|
Nras |
Forum-Meister
|
|
Beiträge: 608
|
|
|
|
Anmeldedatum: 21.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.12.0.635 (R2011a)
|
|
|
|
|
|
Verfasst am: 05.03.2014, 17:06
Titel:
|
|
|
|
|
Hallo,
im eindimensionalen Fall kann man das schnell so hinschreiben.
Das ist vermutlich nicht der eleganteste Weg, um hist() halbwegs nachzubauen, aber Du kannst das dann leicht auf 3 Dimensionen erweitern. Da brauchst du dann noch bins in y und z-Richtung, freq müsste eine 3D-Matrix werden und du brauchst noch 2 find-Befehle.
Danach musst du nur noch den Plot anpassen. Das lässt sich dann nicht mehr so darstellen. Du brauchst dann vermutlich entweder die Größe des Symbols, das du an die Stelle (x,y,z) in deinem 3D Raum plotten willst, oder die Farbe, um die Information über die gefundene Dichte noch hineinzugriegen. Hier geht das noch so:
Viele Grüße,
Edit: Ich habe es dann doch mal gestestet: obiger Code liefert zumindest schon mal das gleiche, wie
Das ist schon mal ein gutes Zeichen .
Edit2: Hier ist ein Video, wie man die Schleife über die vielen Datenpunkte sogar durch eine Schleife über die wenigen Bins ersetzen kann, sofern du da Lust zu verspürst. find() wird auch nicht benötigt und wird durch logische Abfragen und Indexing getauscht. Wenn du diese Operation also sehr oft ausführst, würde sich vielleicht ein Blick auf dieses Video lohnen.
http://blogs.mathworks.com/videos/2....._tid=Blog_Videos_Category
Nras.
|
|
|
|
|
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.
|
|