Die Newtonsche Methode ist das Herzstück der Lösung. Hier ist die Wikipedia-Definition: Die Newton-Methode ist eine Methode zur Approximation von Gleichungen in realen und komplexen Bereichen. Diese Methode verwendet die ersten Terme der Taylor-Reihe für die Funktion f (x), um die Wurzeln der Gleichung f (x) = 0 zu finden. Newtons Methode besteht also darin, x zu iterieren, bis x in einem kleinen Bereich konvergiert
Daher kann für jede Funktion mit einer Variablen ihre Näherungslösung mit der Newton-Methode ermittelt werden. Beenden Sie die Iteration, wenn der Fehler kleiner als 10^-9 ist oder wenn die Anzahl der Iterationsschritte 10^5 überschreitet.
Beim Erstellen eines Solvers müssen einige wichtige Punkte berücksichtigt werden. Parsen von Eingabeausdrücken, Funktionsausdruck, Ableitung von Funktionsgleichungen, Funktionssubstitution und -auswertung. Die unmittelbare Aufgabe lautet unter anderem: Wie soll die Funktion gespeichert (dargestellt) werden?
Warum diesen binären Ausdrucksbaum wählen? Hauptsächlich, weil es sich um eine Baumstruktur handelt, die die Knotenrekursion erleichtert. Später werden wir rekursives Denken verwenden, um eine Funktion abzuleiten, die Substitutions- und Bewertungsdenken umfasst.
Ausdrucksvorverarbeitung: Zuerst müssen wir die Eingabeausdruckszeichenfolge vorverarbeiten. Da es einige einfache oder lange mathematische Beschreibungen gibt, die normalisiert werden müssen, wird eine natürliche Eingabezeichenfolge bei der Vorverarbeitung zu einer Infixzeichenfolge, und die Darstellung, die Menschen auf natürliche Weise verstehen können, nimmt zu. Um den Ausdruck jedoch als Binärbaum zu speichern, müssen Sie auch den Infix-Ausdruck in einen Postfix-Ausdruck konvertieren
Planungsfeldalgorithmus: Der Gradfeldalgorithmus ähnelt im Wesentlichen der Art und Weise, wie Stack Recursive Hanoi den Stapel zur Berechnung von Formeln verwendet. Verwenden Sie Warteschlangen, um Ausgabe-Postfix-Ausdrücke darzustellen, und verwenden Sie Stapel, um Operatoren und Funktionen zu speichern
Erstellen Sie einen Binärbaum: Angenommen, der Eingabeausdruck ist (a + b) * (c * (d + e)). Nach dem Planungsdomänenalgorithmus wird die Suffixformel a b + c d e + * * erhalten. An diesem Punkt kann mit der Suffix-Ausdrucksfunktion schnell ein binärer Ausdrucksbaum erstellt werden.
Auswertung: Algorithmen zur Zuordnung und Auswertung von Binärbäumen sollten einfach zu entwickeln sein. Aufgrund der rekursiven Natur des Binärbaums ist die Wurzel ein Operator oder eine Funktion, die den linken und rechten Teilbaum rekursiv definiert. Es berechnet lediglich rekursiv die Werte des linken und rechten Teilbaums und führt Operatoroperationen aus.
Aufbau des Ableitungsfunktionsbaums: Es bleibt nur noch der Schritt der Lösung der Ableitungsfunktion übrig. Aufgrund der vielen Regeln der Differentialfunktion ist dieser Schritt auch eine relativ komplizierte Operation. Erstens sollte die Ausdrucksableitungsfunktion durch einen binären Ausdrucksbaum dargestellt werden. Dies liegt daran, dass sie direkt ausgewertet und zugewiesen werden können und binäre Ausdrucksbäume rekursiver Natur sind. 2. Der Wurzelknoten des binären Ausdrucksbaums ist immer ein Attribut der Funktion, und der linke und rechte Teilbaum sind ebenfalls Ausdrücke. Sie können rekursives Denken verwenden, um Differentialfunktionen zu lösen