Scipy am wenigstensq

Scipy am wenigstensq
Scipy ist eine Open-Source-Bibliothek von Python, die Lösungen für mathematische und wissenschaftliche Probleme gibt. Es basiert auf Numpy und erweitert die Funktionalität, indem zusätzliche Tools für Array Computing und spezielle Datenstruktur bereitgestellt werden.

Die breite Palette der Befehle auf hoher Ebene ermöglicht es dem Benutzer, die Daten zu visualisieren und zu transformieren. Einer der Befehle oder Funktionen in der Scipy -Optimierungsbibliothek ist der kleinste (). Die mindestenssq () -Funktion verwendet die mindestens quadratische Minimierungsmethode.

In diesem Artikel werden wir Sie über die Funktion des kleinsten SQ () kennenlernen; Seine Syntax, wie es funktioniert, und wir werden einige nützliche Beispiele liefern, die Ihnen helfen, zu verstehen. Gehen Sie diesen Artikel durch, wenn Sie neu im Konzept von Scipy LeplaSQ sind und mehr darüber erfahren möchten.

Was ist die Syntax der Funktion von kleinsten SQ ()?

Die mindestenssq () -Funktion minimiert die Summe des Quadrats einer Reihe von Gleichungen. Es wird verwendet, um ein nichtlineares Problem mit der geringsten quadratisch am wenigsten quadratisch zu lösen. Die Skipie.mindestenssq () hat die folgende Syntax:

# Scipy.optimieren.mindestenssq (f, x, args = (), df = none, fulloutput = 0, COMPERIVE = 0, F-TOL = 1.49012e-08, x-tol = 1.49012e-08, g-tol = 0.0, max-fev = 0, eps-fcn = keine, fak = 100, dia = keine)

Die Parameter der Funktion von kleinsten SQ () werden wie folgt beschrieben: Der Parameter 'F' ist aufrufbar, das Argument "n" Vektor übernimmt und gibt die „M“ -Floating-Punkt-Nummer zurück. Es ist wichtig, dass 'm> = n' und es nicht zurückgeben sollte.

Der Parameter "x" gibt den Ausgangspunkt für die Minimierung an. Der Parameter "Args" ist ein Tupelwert, mit dem jedes für die Funktion benötigte zusätzliche Argument verwendet wird, und es ist ein optionaler Parameter. Der 'DF' ist ein weiterer aufrufbarer Parameter, mit dem der Jacobian der Funktion mit Derivaten über die Zeilen berechnet wird. Es ist auch ein optionaler Parameter.

Der 'Fulloutput' ist ein optionaler Parameter und gibt alle optionalen Ausgänge zurück. Das 'kältere' ist ein optionaler BOOL -Parameter, der die jacobische Funktion angibt. Das 'F-Tol' ist ein optionaler Float-Parameter, der verwendet wird, um den in der Summe der Quadrate gewünschten relativen Fehler darzustellen.

Der 'x-tol' ist ein weiterer optionaler Float-Parameter, der verwendet wird, um den in der ungefähren Lösung gewünschten relativen Fehler darzustellen. Das 'G-Tol' ist ein optionaler Parameter, mit dem die Orthogonalität zwischen jakobischen Spalten und Funktionsvektoren in einer Schwimmpunktzahl dargestellt wird. Das 'max-fev' gibt die maximale Anzahl von Aufrufen der Funktion an. Es ist jedoch ein optionaler Parameter.

Das 'EPS-FCN' gibt die wünschenswerte Schrittlänge für den Vorwärtsabstand der Funktion an. Der 'FAC', ein optionaler Parameter, bestimmt die anfängliche Stufe und schließlich den letzten optionalen Parameter 'Dia' dient als Skalierungsfaktor für die Variablen.

Im Folgenden werden wir die Verwendung der mindestenssq () -Funktion mit Hilfe einfacher und unkomplizierter Beispiele ausbauen.

Beispiel 1:

Wir werden mit einem sehr einfachen und grundlegenden Beispiel beginnen, damit Sie am Anfang nicht verwirrt werden und nicht mehr lesen können. Dies ist das unkomplizierte Programm, mit dem Sie die Funktionalität der Methode mit kleinem () () verstehen können.

Lassen Sie uns den Code unten sehen. Beachten Sie, dass der Code im Zusammenarbeit ausgeführt wird. Die Collaboratory ist ein Open-Source-Python-Dolmetscher, der zur Implementierung und Ausführung von Python-Programmen verwendet wird. Es ist ein kostenloses Tool und offen im Google -Repository verfügbar. Sie können die problemlos herunterladen .PY -Erweiterungsdatei nach der Implementierung und Ausführung Ihres Programms in einem Collab -Notebook und später in einem anderen Python -Dolmetscher wie Jupyter oder Spyder ausgeführt.

von Scipy.Optimieren Sie den Import am wenigstensq
Def func_one (ABC):
Return 33*(ABC-2) ** 1+3
print (mindestensq (func_one, 0))

Sehen wir uns die folgende Ausgabe an:

Beispiel 2:

In diesem Beispiel werden wir den Jacobian der Fehlerfunktion unter Verwendung der Algopy -Funktion präsentieren, um die Verwendung der mindestenssq () -Funktion zu erklären. Hier können Sie sehen, dass die Bibliotheken zuerst importiert werden, die für die Ausführung des Code wichtig sind.

Dann haben wir die als 'y_data' und 'val' angegebenen NP -Arrays erstellt. Danach haben wir drei Funktionen definiert und die erforderlichen Werte an sie übergeben. Und schließlich werden die geschätzten Werte und die Gesamtzahl der von der Funktion getätigten Anrufe angezeigt, wie Sie in den letzten Zeilen des Codeprogramms angezeigt werden können.

Numph als NP importieren
von scipy import optimize
Algopie als Alg importieren
y_data = np.Array ([0).2387, 0.1214, -0.0321, 0.2456, 0.6453, 0.4578, 0.2214, 0.2814, 0.2774, 0.5671, 0.4454, 0.6743, 0.1109, 0.1543, 0.0203, 0.1286, 0, 0, 0])
val = np.Array ([58., 78, 109, 118, 129, 141, 165, 176, 178, 265, 246, 265, 272, 288, 299, 301, 344, 356, 332])
Def func (p, val):
return p [0] + (p [1] -p [0]) * ((1/(1 + Alg).exp (-p [2]*(val-p [3])))) + (1/(1 + alg).exp (p [4]*(val -p [5]))) -1)
Def ERROR_FUNC (P, VAL, Y):
Func (p, val) -y zurückgeben
Def jac_error_func (p, val, y):
AP = Alg.UTPM.init_jacobian (p)
Rückgabealg.UTPM.extract_jacobian (error_func (ap, val, y))
id = np.Array ([0, max (y_data), 0.1, 120, -0.1, 250])
P2, C, Info, MSG, Erfolg = optimieren.mindestenssq (ERROR_FUNC, GUATS, Args = (val, y_data), dfun = jac_error_func, full_output = 1)
print ('Die Schätzung der Funktion von kleinsten SQ () ist:', p2, Erfolg)
print ('Gesamtzahl der Aufrufe der Funktion sind:', info ['nFev'])

Wenn Sie den angegebenen Code ausführen, werden Sie die folgende Ausgabe sehen.

Beispiel 3:

Die grundlegende Verwendung der Minimierungsfunktion von kleinsten SQ () ist eine Kurvenanpassung. Dies ist der Punkt, an dem eine parametrisierte Modelltechnik verwendet wird, um die numerischen Werte anzupassen.

Im folgenden Beispiel zeigen wir, wie die Kurve der Anpassungsdaten modelliert und die Unterschiede in der Anpassung überprüfen. Wir verwenden zwei Gleichungen, um zwei Arten von Funktionen zu definieren, die passen. Die Gleichungen können geändert werden. Wenn Sie also Ihre Gleichungen verwenden möchten, ersetzen Sie einfach die angegebene Gleichung durch Ihre Gleichungen und Sie sind gut zu gehen.

Auf diese Weise können Sie den Anpassungsunterschied besser verstehen und beobachten. Siehe den angegebenen Code unten:

von Scipy.Optimieren Sie den Import am wenigstensq
Matplotlib importieren.Pyplot als MTB
eins = Array ([6, 8, 11, 4, 2, 3, 6, 8, 5, 7,8, 11, 14])
zwei = Array (Bereich (Len (eins)))
Def func_one (Param, eins, zwei):
ABC, XYZ, ABZ = Param [0], Param [1], Aram [2]
Ausgabe = Zwei-Lab • Eins •• 2+xyz • Ein+Abzi
Rückgabeausgabe
Def func_two (Param, eins, zwei):
ABC, XYZ, ABZ = Param [0], Param [1], Param [2]
Ausgabe = zwei- (ABC*ein ** 3+xyz*ein+ABZ)
Rückgabeausgabe
param = [0, 0, 0]
output_two = leerdsq (func eins, param, (eins, zwei))
ABC, XYZ, ABZ = Output_two [0] [0], output_two [0] [1], output_two [0] [2]
yfit1 = abc*ein ** 2+xyz*ein+abz
output_two = leerdsq (func_two, param, (eins, zwei)) ABC, xyz, abz = output_two [0] [0], output_two [0] [1], output_two [0] [2]
yfit2 = abc*ein ** 3+zwei*ein+abz
MTB.Diagramm (eins, zwei, 'bo', label = "y originat")
MTB.Diagramm (eins, yfitl, color = "schwarz", label = "y = ox^24-bx+c"))
MTB.Diagramm (eins, yfit2, color = "rot", label = "y = ox^24-b+c"))
MTB.xlabel ('x')
MTB.Ylabel ('Y')
MTB.Legende (loc = 'Best', FancyBox = True, Shadow = True)
MTB.Raster (wahr)
MTB.zeigen()

Die Ausgabe des oben genannten ist unten angegeben:

Abschluss

In diesem Artikel haben wir Details über die mindestenssq () -Funktion von Scipy vorgestellt. Wir haben die Syntax von kleinstem SQ () mit der Erläuterung jedes erforderlichen und optionalen Parameters im Detail gesehen. Die mindestenssq () -Funktion nimmt 12 Parameter aus, von denen 2 obligatorische Parameter sind und die verbleibenden 10 optionalen Parameter sind.

Darüber hinaus wird auch mit Beispielen die Funktion der kleinsten SQ () -Funktion verwendet. Das erste Beispiel ist sehr einfach und grundlegend und erläutert die grundlegende Verwendung der Funktion, während die beiden anderen Beispiele die komplexe Funktionalität der kleinsten () -Funktion erklären.