12.01.2007, 00:08
Hallöchen alle zusammen,
kurz vor Weihnachten hat mich "Kvasir" auf einen besseren Programmierstil aufmerksam gemacht.
Jetzt bin ich dabei diesen Stil für ein bestehendes Programm anzuwenden.
In meinem alten Programm suche ich im ersten Teil nach Punkten die meine x-Achse schneiden und zwar immer von negativ -> positiv und danach von positiv -> negativ. Im weiteren Text sage ich dazu immer Wertepaar, weil ich glaube dass dies einfacher ist.
Problem 1:
Mein Programm registriert natürlich nicht nur die Wertepaare die ich haben will, sondern auch hier und da kleine Peaks die ca. 12ms lang sind. Diese würde ich gern herausschneiden das zum Schluss nur noch meine richtigen Wertepaare im Arry stehen.
Die Lösung für dieses Problem ist einfach ich nehme einfach den letzten Wert meine Wertepaares und ziehe den ersten davon ab. Die Differenz sofern kleiner als z.B.: 12ms muss ein falsches Wertepaar sein und wird entfernt.
Frage:
Geht es bei diesem Programmierstil das ich diese Bedingung gleich mit in meine Wertepaarsuche integriere oder ist es besser dass ich erst alle Wertepaare aufnehme und hinterher untersuche.
Problem 2:
Ich habe festgestellt dass der 2te Punkt meines ersten Wertepaares nicht gefunden wird. Er steht in der Zeile 20 meiner Beispieldatei. Der erste liegt in der Zeile 16. (Edit: Sorry ab der Zeile 1900 tritt ein ähnliches Problem auf.)
Frage:
Was passiert dort? Das alte Programm findet diesen Punkt. Erst dachte ich der Abstand ist zu klein aber dann würde das NulldurchgangsVi
auch die andern zu kleinen Wertepaare nicht oder nur teilweise finden was nicht der Fall ist. Oder liegt es vielleicht daran dass nur ein Punkt kurzzeitig negativ ist bevor der Graphverlauf wieder steigt.
Ihr findet hier das Programm und die Datendatei. Vielleicht solltet ihr euch die letzte Spalte der Datendatei einmal graphisch anzeigen lasse.
Diese Werte sind übrigens die Differenz der Werte zweier Drucksensoren. Es wurde deshalb gemacht damit man nicht danach suchen muss wo die Schnittpunkte der beiden Graphen liegen.
Gruß Gerrit
kurz vor Weihnachten hat mich "Kvasir" auf einen besseren Programmierstil aufmerksam gemacht.
Jetzt bin ich dabei diesen Stil für ein bestehendes Programm anzuwenden.
In meinem alten Programm suche ich im ersten Teil nach Punkten die meine x-Achse schneiden und zwar immer von negativ -> positiv und danach von positiv -> negativ. Im weiteren Text sage ich dazu immer Wertepaar, weil ich glaube dass dies einfacher ist.
Problem 1:
Mein Programm registriert natürlich nicht nur die Wertepaare die ich haben will, sondern auch hier und da kleine Peaks die ca. 12ms lang sind. Diese würde ich gern herausschneiden das zum Schluss nur noch meine richtigen Wertepaare im Arry stehen.
Die Lösung für dieses Problem ist einfach ich nehme einfach den letzten Wert meine Wertepaares und ziehe den ersten davon ab. Die Differenz sofern kleiner als z.B.: 12ms muss ein falsches Wertepaar sein und wird entfernt.
Frage:
Geht es bei diesem Programmierstil das ich diese Bedingung gleich mit in meine Wertepaarsuche integriere oder ist es besser dass ich erst alle Wertepaare aufnehme und hinterher untersuche.
Problem 2:
Ich habe festgestellt dass der 2te Punkt meines ersten Wertepaares nicht gefunden wird. Er steht in der Zeile 20 meiner Beispieldatei. Der erste liegt in der Zeile 16. (Edit: Sorry ab der Zeile 1900 tritt ein ähnliches Problem auf.)
Frage:
Was passiert dort? Das alte Programm findet diesen Punkt. Erst dachte ich der Abstand ist zu klein aber dann würde das NulldurchgangsVi
auch die andern zu kleinen Wertepaare nicht oder nur teilweise finden was nicht der Fall ist. Oder liegt es vielleicht daran dass nur ein Punkt kurzzeitig negativ ist bevor der Graphverlauf wieder steigt.
Ihr findet hier das Programm und die Datendatei. Vielleicht solltet ihr euch die letzte Spalte der Datendatei einmal graphisch anzeigen lasse.
Diese Werte sind übrigens die Differenz der Werte zweier Drucksensoren. Es wurde deshalb gemacht damit man nicht danach suchen muss wo die Schnittpunkte der beiden Graphen liegen.
Gruß Gerrit