0 Daumen
1,1k Aufrufe

Frage: Entwickeln Sie eine Funktion zur Ermittlung der Nullstellen mit folgender Signatur:

bool detectPoint (double value)

{

 bool zeroCrossingDetected = false;

 // Markiere einen erkannten Nulldurchgang.

//  Beachte: Die Messwerte werden faktisch

//                  nie exakt Null       !

return zeroCrossingDetected;

}


Code: Hallo an Alle, ich weiß bei dieser Aufgabe nicht wie das geht. Bin damit überfordert, kann mir das jemand bitte erklären? Und wie bekommt man da eine Funktion? Danke für die Mühe

Avatar von

Welche Programmiersprache soll das sein. Mir fallen spontan vier mögliche ein.

Wovon sollen die Nullstellen ermittelt werden werden? Etwas mehr Kontext wäre hilfreich.

Die Programmiersprache ist C/C++

Die Erfassung von Messwerten ist oft mit Störsignal en, Oberwellen oder Grundschwingungen beaufschlagt. Eine wichtige Teilaufgabe besteht darin, die Nulldurchgänge (Nullstellen) in einem solchem 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.

IMG_2129 (1).jpg

Text erkannt:

minnm minnang

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 jeden 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.

Die Programmiersprache ist C/C++

C/C++ ist keine Programmiersprache.

C ist eine Programmiersprache.

C++ ist eine Programmiersprache.

Sie haben keinen Zugriff auf den gesamten Datenstrom, sondern immer nur auf den letzten gemessenen Wert.

Wie erfolgt der Zugriff auf den letzten gemessenen Wert?

Eine wichtige Teilaufgabe besteht darin, die Nulldurchgänge (Nullstellen) in einem solchem Signal zu ermitteln.

Sollen Nulldurchgänge oder Nullstellen ermittelt werden? Falls ersteres, warum steht in dem zitierten Satz zweiteres? Falls zweiteres, warum steht in dem zitierten Satz ersteres?

Dann wies ich auch nicht, das war die Gesamte Aufgabenstellung.

War einen Versuch wert.

das war die Gesamte Aufgabenstellung.

Dann ist das eine schlechte Aufgabenstellung. Ich mache mal ein paar Annahmen.

1 Antwort

0 Daumen
 
Beste Antwort
Wie erfolgt der Zugriff auf den letzten gemessenen Wert?

Ich vermute der wird mittels des Parameters value übergeben.

Sollen Nulldurchgänge oder Nullstellen ermittelt werden?

Die Nulldurchgänge sollen ermittelt werden.

bool detectPoint (double value)
{
  static double previous = 0;

  if (previous*value < 0) {
      previous = value;
      return true;
  } else {
      return false;
  }
}
Avatar von 5,7 k

Danke für die Mühe.

Die Nullstellen müssen ermittelt werden. Ich kann mit der Signatur die Nullstellen nicht ermitteln. Kann mir bitte jemand weiter helfen? danke für die Mühe

Gib ein Szenario an, in dem eine Nullstelle nicht als solche erkannt wurde.

Ich habe es doch noch hinbekommen es hat nur das = gefehlt. Bei dem

if (previous*value <= 0). Danke für die Mühe.





Neue Notiz.jpeg

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community