|
maxpowers |
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 10.08.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.08.2011, 13:23
Titel: Bildung von Klassen
|
|
|
|
|
Hallo,
ich suche nach einer Lösung für folgendes Problem:
ich habe ein Array mit einer Spalte und x Zeilen. In jedem Unterfeld stehen verschieden viele Werte. Die einzelnen Werte wiederholen sich, also hab ich
z.B.
in Feld {1,1} die Werte 10 20 30 40 50 60,
in Feld {2,1} die Werte 11 20 31 40
in Feld {3,1} die Werte 9 19 30 40 50 usw.
Nun möchte ich mir in einem Vektor o.ä. die einzelnen Werte nach deren Häufigkeit sortiert abspeichern, allerdings sollen Werte die nur um 1 auseinanderliegen wie z.B. 9 und 10 oder 10 und 11 dann als Häufigkeit 2 für den Wert 10 erfasst werden.
Dabei geht es mir darum anhand meiner Daten Grenzen festzulegen, d.h. ich möchte hinterher sagen alle Werte die zwischen 9 und 11 liegen bilden eine Klasse und werden so und so weiterverarbeitet, alle Werte zwischen 19 und 21 bilden eine andere Klasse und müssen folglich anders verarbeitet werden. Im obigen Fall sollten es die Klassen 10 20 30 40 50 und 60 sein.
Ich hab mir überlegt das irgendwie mit cellfun zu machen, komme aber nicht wirklich weiter damit.
Ich hoffe jemand kennt eine nicht ganz so komplizierte Lösung für mein Problem.
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 21.08.2011, 14:29
Titel: Re: Bildung von Klassen
|
|
Hallo maxpowers,
Zitat: |
Nun möchte ich mir in einem Vektor o.ä. die einzelnen Werte nach deren Häufigkeit sortiert abspeichern, allerdings sollen Werte die nur um 1 auseinanderliegen wie z.B. 9 und 10 oder 10 und 11 dann als Häufigkeit 2 für den Wert 10 erfasst werden. |
Das ist nicht eindeutig. Wenn "9 und 10" zur Kategorie 10 zählt, wieso zählte dann "10 und 11" nicht zu 11? Auch die anderen Details werden nicht ganz klar. Z.B. gehört die 20 ja zu zwei verschiedenen Cell-Elementen. Wie wirkt sich das auf die Klassifizierung aus?
Gruß, Jan
|
|
|
maxpowers |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 10.08.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.08.2011, 16:20
Titel:
|
|
|
|
|
Hallo Jan,
ich habe eine Punktewolke mit x,y,z Koordinaten, wobei die z-Koordinate die Höhe darstellt. Nun lasse ich für jeweils einen festen y-Wert über x und z die findpeaks-Funktion laufen und mir die Indizes der Peaks ausgeben. Das sind dann die Werte die in meinem Array{1,1} sind. Danach erhöhe ich y um einen gewissen Wert und lasse mir wieder die Indizes der Peaks suchen und in Array {2,1} speichern usw.
Ich habe also viele einzelne Höhenprofile, wobei die Anzahl der Peaks nicht immer gleich sein muss.
Das Problem ist jetzt dass ich einen Wertebereich suche von dem ich sagen kann, alle Peaks die in diesem Bereich sind also z.B. 9,10,11 gehören zum ersten Höhenprofil und Peaks 19,20,21 zu dem 2. höhenprofil usw.
Leider weiß ich vorher nicht, wo dieser Bereich beginnt und aufhört. Deshalb war mein Ansatz, über die absolute Häufigkeit zu bestimmen, welche Werte am meisten vorkommen und nah beieinander liegen, um dann sagen zu können, diese Werte gehören zum 1. bzw. 2. bzw. 3. Peakbereich.
Sorry für den langen Text. ich hoffe mein Problem ist klarer geworden.
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 21.08.2011, 16:32
Titel:
|
|
Hallo maxpowers,
Mir ist es erst teilweise klar.
Welche Eigenschaft suchst Du genau in der Punktwolke? Ich habe den vagen Eindruck, dass die Umformung per FindPeaks die Suche komplizierter macht als nötig. Ich könnte mich da aber irren.
Gruß, Jan
|
|
|
maxpowers |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 10.08.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.08.2011, 17:17
Titel:
|
|
Die Punktewolke ist das Profil einer Oberfläche mit periodisch wiederkehrenden Tälern und Bergen(wie mehrere Wellen aneinander quasi).
Ich möchte verschiedene Kennwerte ableiten, z.B. die Steigung zwischen einem Berg und einem Tal. Ich berechne dann für jedes meiner Höhenprofile die Steigung am 1.Peak und berechne dann den Mittelwert über alle Höhenprofile. Das Problem ist, dass das 1. Peak dass ich in einem Höhenprofil finde nicht zwangsläufig zu den Werten des 1. Peak gehört sondern zb auch zu den Werten des 2. Peak gehören kann, da besagtes Höhenprofil einfach keine Werte an der Stelle hat, wo das echte 1. Peak sein sollte.
|
|
|
|
|
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 - 2024
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.
|
|