Hallo liebe WWW Leser,
ich suche einen Algorithmus, mit dem ich lokale Extrema SICHER erkennen kann. Aus 500 Messwerten muss ich einen Weg finden ein recht schwach ausgeprägtes Maximum zu suchen. Idee von mir war bis jetzt, ein „Deltastreifen“ über die Werte wandern zu lassen und Maximum und Minimum zu suchen.
Problem dabei ist: es soll sehr schnell gehen…
Meine Frage: gibt es irgendein Algo, der mir so etwas bildet?
Weiteres Problem: der Diffquotient der e-Funktion ist die e-Funktion…
Über Antworten würde ich mich sehr freuen.
Gruss
Helmut
Hallo liebe WWW Leser,
ich suche einen Algorithmus, mit dem ich lokale Extrema SICHER
erkennen kann. Aus 500 Messwerten muss ich einen Weg finden
ein recht schwach ausgeprägtes Maximum zu suchen. Idee von mir
war bis jetzt, ein „Deltastreifen“ über die Werte wandern zu
lassen und Maximum und Minimum zu suchen.
Problem dabei ist: es soll sehr schnell gehen…
Wenn es Meßwerte sind, dann wirst Du sie wohl oder übel direkt nach Maximum oder Minimum suchen müssen. Falls der zeitkritische Teil aber nicht die Messung selbst ist, dann kannst Du die Werte während der Messung (z.B in einen Baum) sortieren. Dann ist der Zugriff hernach schneller. Ansonsten … wie schnell ist „schnell“ ?
Weiteres Problem: der Diffquotient der e-Funktion ist die
e-Funktion…
Wo ist hier das Problem ? Das ist doch korrekt.
Über Antworten würde ich mich sehr freuen.
Gruss
Helmut
Gruß Moriarty
Hallo Helmut,
da es sih um Messwerte handelt, nehme ich an dass einige Angaben noch nützlich wären, um einen gutuen Algorithmus zu finden.
Ich nehme an, dass die Messwerte "verrauscht sind, die Extremstelle nur knapp über der Nachweisgrenze liegt und zu wenig Werte für eine statistische Mittelung vorliegen.
Was vorraussichtlich helfen kann ist Tiefpass, um den „langwelligen“ Anteil in der Messkurve zu finden. Kann man in einem Floating Window verfahren auch während der Messwertaufnahme machn und dabei jewiels eine Flag auf den Extremwert setzten.
Grüße Frank
Hallo Leute,
vielen Dank für die Antworten.
Das mit dem Vorsortieren (Flag setzen) ist eine sehr gute Idee.
Filtern muss ich auch, klar.
Zusammendfassend für Extrema kann ich sagen ich kenne zwei Verfahren:
* Halbschrittverfahren
* Floating Window
Wie wird Floating Window bei Dir umgesetzt? Bei 2000 Punkten lasse ich einen „Deltastreifen“ von z.B: 10 zu, suche jeweils in den 10 Werten nach einem Maximum; die Streifen gleiten nicht in 1er sondern 10er Schritten über die Funktion, Ist nun ein Maximum des größten Wertes am rechten Rand und am linken Rand der Folgefunktion identisch, so handelt es sich um KEIN Maximum des Vorgängers.
Nochmals zur Erinnerung: ich brauche nicht nur (für eine weitere Verarbeitung zur Mustererkennung) abolute Maxima, sondern RELATIVE Maxima, also alle Hügel eines Gebirges, ebenso.
Meine Frage ist nach wie vor, ob es vielleicht andere Verfahren gibt?
Zu den gestellten Fragen:
ja, es handelt sich um Messwerte von einem Gerät; wahlweise sind das 1000 oder 2000 Punkte von einem Oszilloskop, das Signal kommt
ziemlich verrauscht daher, die Messwerte liegen aber nicht im Jitter vergraben sondern sind gut extrahierbar.
Danke im Voraus,
Gruss Helmut