Aufgabe:
Die Erfassung von Messwerten ist oft mit Störsignalen, Oberwellen oder Grundschwingungen
beaufschlagt. Eine wichtige Teilaufgabe besteht darin, die lokalen Minima (Extremwerte) in
einem solchen Signal zu ermitteln. Gehen Sie davon aus, dass Sie Teil eines größeren Entwicklungsteams sind und hier eine bestimmte Teilaufgabe zu lösen haben. Die Signalerfassung und
weitere Verarbeitung wird durch andere Teammitglieder realisiert.
Text erkannt:
whoman
whunnm
Ihre Teilaufgabe wird durch die Festlegung einer verbindlichen Schnittstelle (Funktionssignatur)
gekapselt. Die von Ihnen zu entwickelnde Funktion wird als digitaler Filter in einem großen und
unter Umständen sehr schnellen kontinuierlichen Datenstrom bei jedem einzelnen gemessenen
Wert aufgerufen. Sie haben keinen Zugriff auf den gesamten Datenstrom, sondern immer nur
auf den letzten gemessenen Wert. Für die Realisierung solcher Teilaufgaben werden oft Rahmenanwendungen mit Testklassen zur Verfügung gestellt. Die Abbildung zeigt das Ergebnis der
Lösung.
Entwickeln Sie eine Funktion zur Ermittlung der Minima mit folgender Signatur:
bool detectPoint(double value)
{
bool localMinimumDetected = false;
// Markiere jedes erkannte Minimum.
return localMinimumDetected;
}
Problem/Ansatz:
Hallo zusammen, ich habe schon sämtliche Foren durchforstet, leider komme ich bei meiner Aufgabe nicht weiter.
Ich habe den folgen Code als Ansatz entwickelt:
bool localMinimumDetected = false;
{
static double previous = 0;
if ( previous - value <= 0) {
(previous = value);
return true;
} else {
return localMinimumDetected;
}
}
Ich stehe hier komplett auf dem Schlauch und bekomme es nicht hin die lokalen Minima anzeigen zu lassen. Als Ergebnis kommt dann immer so etwas wie im Bild:
Ich habe auch schon versucht in der Zeile "if ( previous - value <= 0)" andere Werte einzusetzen, was zwar das angezeigte Bild ändert aber trotzdem nicht die Lösung meiner Aufgabe darstellt.
Über Hilfe würde ich mich sehr freuen
Beste Grüße
Text erkannt:
wampun