eine ähnliche Frage früher bekannt gemacht, aber war viel zu vage, hoffen, dass dies meine Frage aufräumt:Optimierung: Suche nach optimalen Eingänge
Ich habe eine Funktion IVcal(rho,alpha,K)
und ich möchte die optimalen Werte von rho
und alpha
so finden, dass die smiledata
Datenliste (die Ausgabe der Funktion zum Verändern K) ist die beste Lösung möglich an die Datenliste calibrate
:
xaxis = np.linspace(0.006,0.036,20)
calibrate = [calfun(K) for K in xaxis]
smiledata = [IVcal(rho,alpha,K) for K in xaxis]
die Idee ist, dass ich die Kurve plt.plot(xaxis,smiledata, 'b--')
zu sein, wie nah eine Anpassung an die grafischen Darstellung plt.plot(xaxis,calibrate, 'r--')
will wie möglich durch variieren g nur rho
und alpha
.
Ich bin mir nicht sicher, wie man diese optimalen Werte finden kann. Ich dachte darüber nach, den Unterschied zwischen smiledata
und calibrate
zu nehmen und zu minimieren, aber wieder konnte ich keinen guten Weg finden, dies zu tun, zumal ich den Wert der Eingabe brauche und nicht die Ausgabe. Ich würde mich über jeden Rat und jede Entschuldigung freuen, dass ich vorher vage war. Bitte lassen Sie mich wissen, wenn noch etwas Klärung erforderlich ist.
Was ist die Formel von IVcal (und calfun wenn Sie es) wäre? – syntonym
[Bergsteigen] (https://en.wikipedia.org/wiki/Hill_climbing) vielleicht? – Delgan
Sie sind beide ziemlich lange Formeln, die sich auf mehrere zuvor definierte Funktionen/Ausdrücke beziehen. Ich dachte nicht, dass sie relevant wären, aber wenn Sie sie brauchen, kann ich versuchen, sie zu verdichten? Warum willst du sie, wenn es dir nichts ausmacht, dass ich frage? Ich hätte idealerweise einen allgemeineren Ansatz, der für jede Datenliste der gleichen Länge wie die von lilchedata funktionieren würde (calfun ist nur dazu da, um zu verdeutlichen, dass ich mich annähere, um eine "beste Anpassung" an einen anderen Datensatz zu finden). – Hall93