Verwendung von Matlab für das Gauß-Newton-Verfahren

March 7

Verwendung von Matlab für das Gauß-Newton-Verfahren

Das Gauß-Newton-Verfahren ist eine nichtlineare Methode der kleinsten Quadrate-Algorithmus. Der Prozess umfasst eine Reihe von Vermutungen über den Wert von X, dann Linearisierung der Gleichung, R, in der Nähe der Vermutungen sagen. Das Ergebnis führt zu eine neue Vermutung, die eine Lösung der linearen Methode der kleinsten Quadrate ist. Der Algorithmus wird wiederholt, bis die Konvergenz auftritt. Diese Methode kann per hand mühsamer Prozess sein; die Verwendung von Software wie MathWorks Matlab kann in viel kürzerer Zeit komplizierte Berechnungen durchführen.

Anweisungen

1 Schreiben Sie Ihre Gleichungen in der Form F (X) = 0. Beim Eingeben von Gleichungen in Matlab enthalten Sie nicht den "= 0"-Teil, nur der Ausdruck auf der linken Seite das Gleichheitszeichen.

2 Geben Sie in einer neuen .m-Datei die Zeilen "F=myfun(x) Funktion" und "F = [(your first equation);(your second equation)];" ohne Anführungszeichen. Speichern Sie diese Funktion als "myfun.m" in der Matlab-Pfad.

3 Geben Sie in das Editor-Fenster "X 0 = [min; Max]" wo min und Max sind die minimalen und maximalen X-Werte Ihrer Region geschätzten Konvergenz. In der nächsten Zeile Typ "options=optimset('Display','iter');", die Ausgabe von Iterationen zu sehen. Alle Befehle ohne doppelte Anführungszeichen eingegeben werden sollten, aber einzelne Anführungszeichen innerhalb des Körpers des Befehls bleiben sollte.

4 Um den Algorithmus auszuführen, geben Sie "[X, Fval] = Fsolve (@myfun, 0 X, LargeScale 'aus', NonlEqnAlgorithm, 'gn')" ohne Anführungszeichen ein und drücken Sie enter. Die Befehlsoptionen für Terminologieverwaltung und NonlEqnAlgorithm geben dem Verfahren für Gauß-Newton-Verfahren. Die Antwort wird auf dem Bildschirm angezeigt.