Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

(alle) Extremstellen einer Kurve ermitteln

Forumthread: (alle) Extremstellen einer Kurve ermitteln

(alle) Extremstellen einer Kurve ermitteln
12.10.2016 12:46:00
Julian
Hallo Zusammen,
Dieses Problem beschäftigt mich bereits einige Zeit, deshalb wäre ich dankbar für Lösungsansätze (ggf. VBA), oder Funktionen die für dieses Problem geeignet sind.
Mir liegen Messergebnisse (Spalte 1 - Zeit, Spalte 2 - Messergebnis) vor. In dem angehängten Dokument befindet sich ein Ausschnitt dieser Daten. Ich möchte gerne die Zeitpunkte zu allen MIN und MAX Werten bestimmen.
Dazu habe ich eine WENN Funktion verwendet die jeweils 5 Werte vor und hinter einem Wert abfragt und so die die MIN und MAX Werte findet. Jedoch besteht ein Extremwert manchmal aus einem Wert, manchmal aus bis zu 10 Werten und oft sind dazwischen auch Lücken. Ich möchte gerne den zeitlichen Mittelwert aus einem solchen Block bilden, dh. den Zeitpunkt.

Die Datei https://www.herber.de/bbs/user/108730.xlsx wurde aus Datenschutzgründen gelöscht

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nachgefragt ...
12.10.2016 13:15:06
...
Hallo Julian,
... was genau strebst Du in welcher Form als Zielergebnis an und was meinst Du mit "Lücken". Es gibt keine solche sondern nur Abweichungen vom jeweiligen lokalen Extremwerten. Die Frage dazu wäre dann aber ob und bis zu welcher Toleranzgrenze solche noch berücksichtigt werden oder nicht.
Gruß Werner
.. , - ...
Anzeige
AW: nachgefragt ...
12.10.2016 20:36:58
Michael
Hi zusammen,
WFs Kurvendiskussion ist für meinen Geschmack hier nicht ohne weiteres übertragbar.
Werners Frage ist leider noch unbeantwortet; ein vorläufiger Ansatz könnte sein, die lokalen Minima (das sind ja die Ausreißer von den Maxima - und umgekehrt) dadurch rauszufiltern, indem Du, sofern der vorhergehende und der nachfolgende Wert identisch ist, sie (zumindest rechnerisch) auch mit diesem Wert ausstattest, sofern dieser über oder unter dem Schnitt (über alles) liegt.
Der Schnitt Deiner Werte liegt so bei 1,78...
Übrigens sind Deine Werte ziemlich "gequantelt": wenn man die sortiert und die Duplikate entfernt, bleiben aus 136 Meßwerten nur noch 19 übrig, die außerdem jeweils 0,0022 oder 0,0033 oder 0,001 voneinander entfernt sind.
Die Frequenz bleibt gleich, nur die Amplitude ändert sich? Ist eigentlich egal, denn die Frequenz kannst Du evtl. einfacher und plausibler ermitteln, wenn Du den Schnittpunkt aus den Taktflanken und dem Mittelwert ermittelst: das Maximum wäre dann an der mittleren Position zwischen zwei derartigen "Taktflanken".
Zwei Ansätze dazu in Deiner Datei (Blatt 3):
a) Formel C3 runterwärts: sucht die Punkte, die sehr nahe an besagtem Schnittpunkt liegen
b) Formel D3 runterwärts: ermittelt die Punkte, die direkt über und unter dem Schnittpunkt liegen (rote Punkte an Flanke).
Wenn Du die untere Formel dahingehend erweiterst, daß Du das exakte x (also die Zeit) bei y=Schnitt errechnest (linear sollte reichen, da die Flanken sehr steil sind), hast Du die Geschichte vielleicht erschlagen.
Die Berechnung der Minima/Maxima vereinfacht sich dadurch prinzipiell auch: je min/max zwischen zwei Flanken.
Ungenaues Zwischenergebnis der Flanken siehe Spalten AA+AB.
Datei: https://www.herber.de/bbs/user/108744.xlsx
Schöne Grüße,
Michael
Anzeige
AW: nachgefragt ...
13.10.2016 08:16:48
Julian
Hallo Werner,
als Zielergebnis hätte ich gerne zu jedem lokalen Extremwert jeweils einen Zeitpunkt, also möchte ich im Prinzip die Periodendauer bzw. die Frequenz ermitteln.
Du hast Recht bezüglich der Toleranz, mit meiner bisherigen Betrachtung mittels WENN-Funktion laufe ich Gefahr, dass ich das lokale Extremum um einige 1/1000s verfehle. Eine bessere Lösung ist mir bisher jedoch nicht eingefallen.
Anzeige
AW: (alle) Extremstellen einer Kurve ermitteln
14.10.2016 10:14:25
Julian
Hallo Michael,
danke für deine ausführliche Antwort. Woher kommt die 0,002 in Zelle D3 (Tab3)?
Es scheint so, dass die Formeln in Spalte C & D die zwei Punkte nicht an jeder Flanke erkennen. Da meine Daten in Zukunft auch andere Frequzenzen und Amplituden (und damit flachere Flanken) aufweisen, habe ich zweifel, dass dieser Ansatz auf die variierenden Daten anwendbar ist.
Für den einen Punkt, für den ich es mal ausprobiert hab, scheint es aber gut zu funktionieren.

Die Datei https://www.herber.de/bbs/user/108781.xlsx wurde aus Datenschutzgründen gelöscht


Anzeige
(alle) Extremstellen einer Kurve ermitteln
15.10.2016 14:56:34
Michael
Hi Julian,
die 0,002 sind "frei erfunden", ich habe die nächstbeste Zahl genommen, die kleiner ist als der minimale Abstand zweier Meßwerte, der ja eben bei 0,0022 liegt.
Deine Zweifel sind ja prinzipiell berechtigt, aber bedenke, daß bei "breiteren" Kurven auch die Extrema noch mehr (ähnliche) Werte (mit Ausreißern) enthalten, die irgendwie zu bearbeiten sind: das ist dann auch umso schwieriger.
Wie man "algorithmisch" mit Fällen wie in Blatt 2: B36-D42 umgehen müßte (ich habe die Werte hier geändert, um den Effekt zu demonstrieren: insbesondere der "rechteste" ist das echte Minimum), ist fraglich: das geht wahrscheinlich ohne irgendwelche statistischen Mittel (die meinen Horizont übersteigen) gar nicht...
Auf Blatt 3 habe ich zu Deinen Berechnungen ab J37 noch hinzugefügt, wie ich es gemeint hatte (ab Q37).
Deine neuen Werte habe ich mal in Blatt 4 kopiert und im Diagramm eine Trendlinie mit einem Polynom 4. Grades eingezeichnet. Vielleicht ließe sich auch so ein Polynom zur obigen Berechnung des "Flankenmittelpunkts" heranziehen.
Ich hätte ja gerne eine VBA-Lösung erstellt, aber wegen der hypothetischen Zahlen in Blatt 2 (s.o.) bezweifle ich, daß das die Geschichte lösen würde.
Die Datei: https://www.herber.de/bbs/user/108802.xlsx
Schöne Grüße,
Michael
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Extremstellen einer Kurve ermitteln


Schritt-für-Schritt-Anleitung

  1. Daten vorbereiten: Stelle sicher, dass Deine Daten in zwei Spalten angeordnet sind: in Spalte A die Zeit und in Spalte B die Messergebnisse.

  2. Formel zum Finden von Extremwerten: Verwende die WENN-Funktion, um lokale Maxima und Minima zu finden. Zum Beispiel:

    =WENN(UND(B2>B1;B2>B3);B2;"")

    Diese Formel überprüft, ob der Wert in B2 größer ist als der vorherige und der nachfolgende Wert, um ein lokales Maximum zu identifizieren.

  3. Zeitpunkte ermitteln: Um den Zeitpunkt eines Extremwerts zu bestimmen, kannst Du eine weitere Spalte einfügen, die die Zeit der Extremwerte anzeigt.

    =WENN(B2="";"";A2)
  4. Mittelwertbildung: Bei mehreren Werten für ein Extremum verwende die MITTELWERT-Funktion:

    =MITTELWERT(A2:A10)

    Dies gibt Dir den zeitlichen Mittelwert für einen Block von Extremwerten.

  5. Visualisierung: Erstelle ein Diagramm, um die Extremstellen visuell darzustellen. Markiere die gefundenen Extremwerte, um die Analyse zu erleichtern.


Häufige Fehler und Lösungen

  • Fehler bei der Extremwertbestimmung: Wenn die Formel nicht die erwarteten Extremwerte findet, überprüfe, ob die Daten korrekt eingegeben sind und keine Leerzellen enthalten.

  • Keine Werte angezeigt: Stelle sicher, dass die WENN-Funktion korrekt konfiguriert ist. Es kann hilfreich sein, die Formel Schritt für Schritt zu überprüfen.

  • Lücken in den Daten: Berücksichtige, dass Lücken in den Daten die Berechnung stören können. Verwende die VERGLEICH-Funktion, um nach dem nächsten gültigen Wert zu suchen.


Alternative Methoden

  • VBA zur Automatisierung: Du kannst ein einfaches VBA-Skript verwenden, um Extremwerte in großen Datensätzen effizient zu ermitteln. Ein Beispiel könnte folgendermaßen aussehen:

    Sub Extremwerte()
       Dim i As Integer
       For i = 2 To Range("B" & Rows.Count).End(xlUp).Row - 1
           If Cells(i, 2).Value > Cells(i - 1, 2).Value And Cells(i, 2).Value > Cells(i + 1, 2).Value Then
               Cells(i, 3).Value = Cells(i, 1).Value ' Zeit des Maximums
           End If
       Next i
    End Sub
  • Polynomanalyse: Verwende die Schwingungsfrequenz Formel für eine genauere Analyse der Daten, insbesondere wenn die Daten variierende Frequenzen und Amplituden aufweisen.


Praktische Beispiele

  • Beispiel 1: Angenommen, Du hast die folgenden Daten in Spalte A (Zeit) und B (Messergebnisse): Zeit Messwert
    1 2.5
    2 3.0
    3 1.5
    4 4.0
    5 2.0

    Die obige Anleitung hilft Dir, die Extremstellen zu finden und deren Zeitpunkte zu ermitteln.

  • Beispiel 2: Bei der Analyse von Schwingungsdaten kannst Du die TREND-Funktion verwenden, um die Extremstellen zu bestimmen und die Schwingungsfrequenz zu berechnen.


Tipps für Profis

  • Verwende Array-Formeln: Diese können helfen, mehrere Extremwerte in einem Schritt zu finden und zu bearbeiten.

  • Datenvalidierung: Achte darauf, dass Deine Daten regelmäßig sind, um die Genauigkeit bei der Extremstellenberechnung zu erhöhen.

  • Statistische Tools: Nutze fortgeschrittene Excel-Funktionen wie KOVAR oder KORREL, um Zusammenhänge in Deinen Daten zu analysieren.


FAQ: Häufige Fragen

1. Wie finde ich lokale Maxima in Excel?
Verwende die WENN-Funktion in Kombination mit benachbarten Werten, um lokale Maxima zu identifizieren.

2. Was kann ich tun, wenn meine Daten Lücken enthalten?
Du kannst die VERGLEICH-Funktion verwenden, um die nächstgelegenen gültigen Werte zu finden und diese in die Berechnung einzubeziehen.

3. Ist VBA notwendig, um Extremstellen zu bestimmen?
Nein, VBA ist nicht zwingend erforderlich. Du kannst die oben beschriebenen Excel-Funktionen verwenden, um Extremwerte zu ermitteln, aber VBA kann den Prozess automatisieren und effizienter gestalten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige