|
|
Bestimmten Wert aus Vektor auswählen |
|
Thomas K |

Forum-Anfänger
|
 |
Beiträge: 47
|
 |
|
 |
Anmeldedatum: 15.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.11.2012, 10:48
Titel: Bestimmten Wert aus Vektor auswählen
|
 |
Hallo,
ich habe folgendes Problem: In einem Vektor habe ich 4 Werte wobei sich diese 4 Werte sehr ähnlich sein sollten, es aber vorkommen kann, dass ein oder zwei Werte abweichen. Ich möchte jenen Wert aus diesem Vektor entnehmen, welcher (inbestimmten Grenzen) am häufigsten vorkommt.
Ein Beispiel:
v = [41.4345;40.2343;43.9761;87.2354] in diesem Fall möchte ich gerne den Mittelwert der ähnlichsten 3 Werte haben, also 41.8816.
Oder:
v = [134.2335;131.6458;13.6753;78.3535] hier sollte die Lösung der Mittelwert der ähnlichsten zwei Werte also 132.9397 sein.
Meine Frage ist, ob man das einfach und elegant mit Hilfe eines Matlab-Befehls lösen kann, oder ob man dafür unbedingt eine for-Schleife schreiben muss.
Schöne Grüße,
Thomas.
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 23.11.2012, 11:36
Titel: Re: Bestimmten Wert aus Vektor auswählen
|
 |
Hallo Thomas K,
Welches Ergebnis erwartest Du für [1,2,3,4], [1,1,2,2], [1,2,10,11], [1,2,4,10]?
Während man in den ersten drei Fällen leicht entscheiden kann, dass es um zwei beieinanderliegende Elemente geht und es nur schwer fällt zu entscheiden um welche zwei, ist mir im letzteren Fall nicht klar, ob das 2 oder 3 "beieinander liegende Werte" sind. Solange dies nicht eindeutig definiert ist, kann man es nicht in Matlab implementieren.
Ich habe übrigens keine Idee, wie man dies mit einer FOR-Schleife lösen könnte. Ich würde zunächst testen, ob es 3 beieinander liegende Elemente gibt und dazu MEAN und STD verwenden. Falls nicht, kommt ein Test mit 2 Elementen.
Gruß, Jan
|
|
|
Thomas K |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 47
|
 |
|
 |
Anmeldedatum: 15.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.11.2012, 12:12
Titel:
|
 |
Hallo Jan,
grundsätzlich kann ich davon ausgehen dass in den allermeisten Fällen mindestens zwei sehr ähnliche Werte auftreten, und die anderen beiden Werte sich deutlich unterscheiden (auch untereinander). Sollte der Fall eintretten dass vier unterschiedliche Werte auftreten, dann kann ich einen Vergleichswert heranziehen.
Die Werte in v = [1;2;3;4] können als zur gleichen Gruppe gehörend angesehen werden. Die Werte leigen zwischen 0 und 360, wobei jeder Wert eine Toleranz von plus/minus 5 hat.
Im Fall v = [20;23;56;57] kann wiederum ein Vorgabewert verwendet werden.
Primär geht es mir darum, im am häufigsten auftretenden Fall, dass eben 2 oder 3 Werte sehr ähnlich sind und sich die oder der verbleibende Wert signifikant unterscheidet, den Mittelwert aus den 2 oder 3 ähnlichsten Werten zu bilden.
Also z.B.: v = [44;44.1;44.2;76], Lösung: 44.1, oder:
v = [167.4,169.4,171.4,34], lösung: 169.4.
Danke für deine Hilfe und schöne Grüße,
Thomas.
|
|
|
|
|
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.
|
|