Programmfehler? -- Min-Maxima Suche und zeitlicher Abstand

OP #2609348
Hallo,

ich habe ein Problem bei der Ermittlung vom zeitlichen Abstand zweier 
Hoch- und Tiefpunkte in einem Kurvenverlauf.

Ich weiss, dass die Hoch- und Tiefpunkte jeweils maximal 10 
Messzeitpunkte auseinander liegen und habe daher ein Programm 
geschrieben, welches ein Fenster von 10 Messzeitpunkten über die 
Teilmenge meiner Messpunkte hinüberschiebt und Ort und Betrag der 
maximalen und minimalen Punkte aufzeichnet. Die Differenz beider Werte 
wird lokal ermittelt und wenn sie größer ist als die global ermittelten 
Werte, wird stets der Ort von globalem Minimum oder Maximum sowie der 
wert erneuert.
Das Fenster beginnt kurz nach dem Beginn einer einer Datenmenge (200 
Stück, beginn bei 50) und soll 25 Messzeitpunkte weit verschoben werden, 
d.h. der maximale zeitliche Abstand kann 35 Datenpunkte betragen 
(Fenster von 10 Werten und dieses wird 25 werte weit geschoben).

Anschließend wird der Abstand beider Minima und der Abstand beider 
Maxima errechnet. Zeitlich liegen zwei Messpunkte jeweils 22,7 
Millisekunden auseinander. Der Abstand wird also ermittelt und 1 Minute 
= 600000us wird durch dieses Produkt geteilt, so dass eine Frequenz 
errechnet wird.

Das Problem ist, dass der Wert, den ich dabei erhalte auf einen 
zeitlichen Abstand von ~65-70 Datenpunkten schließen lässt und ich beim 
besten Willen nicht sehe, wo der Fehler ist.
Ich meine, der Abstand kann maximal 35 werden, weil das zweite 
Maxima-Minima Paar doch erst dort beginnt ermittelt zu werden, wo das 
erste gefunden wurde.


Mehr Augen sehen mehr, Wo habe ich einen Fehler gemacht?

mfg und schonmal vielen Dank
Angehängte Dateien:
OP #2609406
hm ich werde die Änderung einbringen, aber ehrlich gesagt kann ich nicht 
erkennen, wie Delta_T überhaupt einen Wert größer als 35 bekommen 
sollte...

Das zweite Maximum sollte doch höchstens 25 + Fensterlänge = 35 vom 
ersten entfernt sein...
Gast #2609562
...und was sagst du zu der Programmlogik?

logisch oder nicht logisch?


nur mal am Rande aus Verzweiflung gefragt: Kann es sein, dass ein 
Mikrocontroller trotz Klammersetzung die Punkt-Vor-Strich Regeln nicht 
beherrscht?
Gast #2609688
> ...und was sagst du zu der Programmlogik?
> logisch oder nicht logisch?

Es ist heute abend für mich zu spät so eine komplexe Frage noch 
anzupacken. Lieber den Sonntag noch ruhig ausklingen lassen.

Komplex weil man komplett theoretisch an die Sache rangehen muss, also 
ob die Beschreibung eine gültige Logik enthält, dann ob die korrekt in 
Programmcode umgesetzt wurde.

Der pragmatische Weg mit Testdaten und lauffähigem Programm debuggen, 
scheidet ja mangels Testdaten und lauffähigem Programm aus.

Was beim oberflächlichen Blick auffällt ist, dass du nacheinander auf 
zwei Arrays arbeitest: Pletyrot bei der ersten Teilsuche und 
Pletyinfra bei der zweiten Teilsuche und davon steht nix in der 
Beschreibung. Auch dass die Arrays nicht komplett (also keine PLETYLANGE 
Elemente lang) durchsucht werden.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.