Suche nach dem Wendepunkt
Momentan habe ich zwei Sätze von Daten, ein x-und y-Achse, und ich brauche, um den Punkt zu finden, wo es verändert sich von einem positiven Hang zum negativen Steigung. Es ist trotzdem der Feststellung, dass die Daten in VBA oder eine Funktion in excel?
- Steigung kann nicht beschrieben werden, da eine glatte Funktion, wenn die Daten selbst nicht kontinuierlich ist. Außerdem, ein Punkt der Beugung ist, wo nicht die Steigung ändert sich von positiv zu negativ, aber die Krümmung ändert sich von going bis nach unten. Was Sie in Ihrer Frage beschreiben ist im Grunde ein lokales minimum/maximum.
- Sorry, meine Formulierung war ein wenig aus. Ich will finden, der Wendepunkt, wo sich die Krümmung ändert sich von bis unten gehen. Sorry, mein Mathe war ein wenig eingerostet
- Suchen Sie sich einfach das wechseln zwischen den Zellen (änderung in y geteilt durch die änderung in x), dann finden die Wechsel zwischen den änderungen(Teilung durch änderungen in x wieder), um Ihre Krümmung. Wenn Sie oes von 0, es ist in der Nähe von einem Punkt der Flexion(mit ein bisschen Rücksicht auf die Tatsache, dass die Daten diskret, nicht kontinuierlich)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie - näherungsweise - berechnen, DeltaY /DeltaX für jedes nachfolgende paar von Linien und überprüfen Sie die Veränderung der Zeichen dafür.
Beispiel (ab [A1] - kopieren Sie alle Formeln nach unten aus Ihrer Zelle starten)
änderung der Steigung erfolgt bei relativen maxima oder minima (1. Differentialquotient gleich 0)
Wenn es irgendein Rauschen in den Daten, computing Unterschiede verstärken wird, dass Rauschen, so gibt es eine größere chance, unechte Wendepunkte. Ein Weg, um den Lärm zu verringern ist, um fit einer Kurve zu den Daten, und berechnen Sie die Wendepunkte für die Kurve. E. g. fit eines kubischen Polynoms zu den Daten, und finden Sie den Wendepunkt der.
Darf ich vorschlagen, dies würde durch die Verwendung von regression. Nicht eine lineare, sondern eine typische multiple-order regression, AKA Polynom-regression (
y = a_0 + a_1*x + a_2*x^2 + ... + a_n*x^n
). Siehe diesen thread für mehr Informationen darüber, wie es zu tun. Dies kann direkt in Excel, keine Notwendigkeit, code, etwas in VBA. Allerdings werden Sie wahrscheinlich benötigen, um mit Arrayformeln (auch bekannt als STRG+ Eingabe von Formeln).Dann, sobald Sie haben, finden Sie eine regression, das genau auf Ihre Verteilung (r2 > 0.9 oder was zu Ihnen passt), können Sie einfach tun, eine Ableitung dieser Gleichung. Denn dies ist eine polynomiale Gleichung, die Gleichung ist ganz einfach :
y' = a_1 + 2*a_2*x + ... + n*a_n+1
.Den Spaß Teil beginnt jetzt! Wir müssen herausfinden, welche Werte von
x
machty = 0
. Wenn deine regression ist unter dem 4. Ordnung, es ist eine analytische Lösung möglich (d.h. es gibt eine Gleichung, die kann Ihnenx
Wert, weil Ihre Ableitung wird die Ordnung 3). Wenn Sie über die 4. Ordnung, dann, Sie brauchen, um eine numerische Methode. Ja, Sie können VBA verwenden, um eine bisection-Algorithmus gehen, aber wissen Sie, dass Excel hat einen numerischen solver integriert? Verwenden Sie es, um die Werte, die du suchst (vorausgesetzt, dass mindestens ein Wert ist real).Da Sie nicht das mitgelieferte Beispiel von dataset, das ist aber zu Figur, aber wenn wir mit Mikrophonen aufgenommen exemple, würden wir diese bekommen !
Mit den Werten, statt der Formeln: