Bestimmen von Wurzeln
Die Wurzel einer Funktion ist der Wert, bei dem die Funktion gleich null ist.
polyroots(v) – Gibt einen Vektor mit den Wurzeln des Polynoms zurück, dessen Koeffizienten in v enthalten sind.
Standardmäßig verwendet polyroots die iterative LaGuerre-Methode, die auf der komplexen Ebene nach Lösungen sucht.
root(f(var1, var2, ...), var1, [a, b]) – Gibt den Wert von var1 zurück, um die Funktion f gleich null zu setzen. Wenn a und b angegeben werden, sucht die Funktion root die Variable var1 im Intervall [a, b]. Ansonsten muss var1 mit einem Schätzwert definiert werden, bevor Sie root aufrufen. Bei Verwendung eines Schätzwertes verwendet root die Sekans- oder Mueller-Methode. Falls die Wurzel mit Klammersetzung erfolgt, verwendet root die Ridder- oder Brent-Methode.
Sehen Sie sich dieses Video an, um mehr über das Lösen von Wurzeln zu erfahren:
Argumente
f ist eine skalarwertige Funktion einer beliebigen Anzahl von Variablen.
var1 ist eine skalare Variable aus f. Die Wurzel wird in Bezug auf diese Variable ermittelt. Definieren Sie einen komplexen Schätzwert, um eine komplexe Nullstelle zu suchen.
a, b (optional) sind reelle Zahlen, a < b, sodass f(a) und f(b) entgegengesetzte Vorzeichen haben. root sucht nach einer Wurzel im Intervall a≤x ≤ b.
Sie müssen die Bereichsargumente [a, b] angeben, wenn Sie die Funktion root symbolisch auswerten.
v ist ein Vektor mit den Koeffizienten eines Polynoms, in dem das erste Element der konstante Term ist, mit 2 ≤ length(v) ≤ 99.
Zusätzliche Informationen
Wenn Sie die Funktion root über die Multifunktionsleiste einfügen, wird ihr automatisch die Bezeichnung Schlüsselwort zugewiesen.
Mithilfe der Funktion root kann jeweils nur eine Gleichung mit einer Unbekannten gelöst werden. Wenn Sie mehrere Gleichungen gleichzeitig lösen möchten, verwenden Sie find oder minerr.
Die Funktion root hängt von TOL ab, reagiert jedoch nicht auf einen TOL-Wert, der größer ist als 10-5. Dies sind die maximalen Konvergenzkriterien. Darüber hinaus erzeugen TOL-Werte kleiner als 10-12 nicht unbedingt bessere Ergebnisse, während der Algorithmus eventuell nicht konvergiert.
Bei Funktionen mit einer Vielzahl von Wurzeln hängt die zurückgegebene Wurzel vom Schätzwert ab. Liegt der Schätzwert sehr nahe an einem Minimum oder Maximum von f, kann die Funktion root möglicherweise nicht konvergieren bzw. kann zu einer Wurzel konvergieren, die weit vom Schätzwert entfernt ist. Für die Wahl eines geeigneten Schätzwerts oder geeigneter Klammern ist es hilfreich, die Funktion vorab grafisch darzustellen.
Funktionen mit schneller Variation können erreichen, dass der Löser für Nullstellen winzige komplexe Teile zurückgibt, auch wenn ein echtes Ergebnis erwartet wird.
Um eine Gleichung der Form f(x) = g(x) zu lösen, verwenden Sie einen Ausdruck wie x0 := root(f(x) − g(x), x).
Bei einem Ausdruck f(x) mit einer bekannten Wurzel r entspricht die Auflösung nach zusätzlichen Wurzeln von f(x) der Auflösung nach Wurzeln von h(x) = f(x) / (x − r).. Ein solches Heraustrennen bekannter Wurzeln erleichtert das Lösen zweier Wurzeln, die möglicherweise nahe beieinander liegen. Oft findet man die Lösung für Wurzeln von h(x), wie hier definiert, leichter als weitere Wurzeln von f(x) mithilfe unterschiedlicher Schätzwerte.
Wenn f(x) eine kleine Steigung in der Nähe der Wurzel aufweist, konvergiert root(f(x), x) möglicherweise gegen einen Wert r, der relativ weit von der tatsächlichen Wurzel entfernt ist. Obwohl |f(r)|< TOL, liegt r in solchen Fällen eventuell weit von dem Punkt entfernt, wo f(r) = 0. Um eine genauere Wurzel zu finden, verringern Sie den Wert von TOL. Oder versuchen Sie, root(g(x),x) zu finden, wobei g(x) = [f(x))]/[(d/dx)*f(x)]).
Unter folgenden Bedingungen konvergiert die Funktion root möglicherweise nicht oder zu einer unerwarteten Wurzel:
Für den Ausdruck gibt es keine Wurzeln.
Die Wurzeln weichen zu stark vom Anfangsschätzwert ab.
Zwischen dem Schätzwert und den Wurzeln liegt ein lokales Maximum, ein lokales Minimum oder eine Unstetigkeit.
Der Schätzwert liegt sehr nahe bei einem Minimum oder Maximum der Funktion f.
Die Wurzel im Ausdruck ist komplex, während der Anfangsschätzwert aus einer reellen Zahl besteht (oder umgekehrt).
Es gibt mehrere eng beieinander liegende Wurzeln. Versuchen Sie, den Wert von TOL zu verringern, um zwischen ihnen unterscheiden zu können.
Die Wurzeln befinden sich in flachen Bereichen der Funktion. Versuchen Sie, den Wert von TOL zu verringern oder die Wurzel der Funktion f(x) geteilt durch deren erste Ableitung zu finden.
War dies hilfreich?