Verfasst am: 05.02.2020, 10:48
Titel: Maxima finden, min um 2 größer als nächstes Minimum
Hallo liebe Community!
Ich komme bei meinem Problem leider nicht weiter, bin allerdings auch noch ein ziemlicher Matlab Anfänger. Aber vllt kann mir ja jemand helfen
Ich hab eine Matrix A, mit 6900x12 Werten. Ein fünfzeiligen Auszug hab ich hier mit reingepackt.
Jetzt möchte ich gerne jeden Index finden, bei dem die einzelne Zeile ein lokales Maxima hat, welches mind. um 2 größer ist, als die benachbarten lokalen Minima.
Ich hoffe das ist verständlich erklärt.
Irgendwie fehlt mir so jeder Ansatz. Habe es mit der Differenz jedes Wertes versucht aber drehe mich im Kreis
Freue mich sehr über jede Hilfe
Liebe Grüße
annikilla
verstehe ich noch nicht so ganz.
Wenn, dann ist doch ein einzelner Eintrag ein lokales Maximum und nicht eine ganze Zeile, oder?
Geht es um dann um lokale Maxima innerhalb der Zeilen, innerhalb der Spalten, oder beides kombiniert?
Was wären denn bezogen auf den Datenausschnitt die gewünschten Ergebnisse?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
danke für deine Nachfrage ich möchte jede Zeile einzeln betrachten. Innerhalb jeder Zeile möchte ich ein lokales Maximum finden und die benachbarten lokalen Minima (falls vorhanden).
Ich versuche jede Zeile zu finden, die ein lokales Maximum mit einem vorhergehenden und darauffolgenden lokalen Minimum hat welche jeweils um mindestens 2 kleiner sind als das Maximum.
Bezogen des Ausschnitts wäre das zB. in Zeile 1,3 und 4 der Fall, da in Zeile 1 das Maximum bei 11.41, das vorherige Minimum bei 4.81 und das folgende bei 8.08 liegt, welche beide mind. 2 kleiner sind.
Annahmen:
* ein lokales Maximum in der ersten oder letzten Spalte wird nicht berücksichtigt
* ein lokales Minimum in der ersten oder letzten Spalte wird berücksichtigt
Ich hoffe, dass der Code anhand der Variablenbenennungen nachvollziehbar ist. Meine Empfehlung wäre, das Schritt für Schritt zu verifizieren und auch anhand eines größeren Datensatzes stichprobenartig nachzuvollziehen, dass sich das wirklich so verhält wie es soll. Der kurze Datensatz hat z.B. überhaupt kein lokales Minimum, das nicht auf den Rand fällt.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
vielleicht kurz zur Idee:
* zunächst werden alle lokalen Maxima und Minima gefunden, mit den eben genannten Voraussetzungen.
* Anschließend wird in einer for-Schleife zu jedem lokalen Maximum geschaut, welches die nächstgelegenen lokalen Minima rechts und links davon sind und der Vergleich mit diesen durchgeführt.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
ich bin den Code von dir durchgegangen und verstehe tatsächlich was der macht vielen dank!
Mit meinen Daten funktioniert es auch in den allermeisten Fällen, nur manche Zeilen funktionieren nicht. Zum Beispiel funktioniert es mit den beiden angehängten Zeilen leider nicht. Der einzige Unterschied, den ich sehe, ist dass dort zweimal hintereinander die genau gleiche Zahl auftaucht. Könnte das das Problem sein?
Und wenn ja, hast du eine Idee wie ich das beheben kann?
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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
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.