Algorithmus :: Curvefit.

Algorithmus :: Curvefit - nichtlineare kleinste Quadrate Fitting.
Jetzt downloaden

Algorithmus :: Curvefit. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Steffen Mueller
  • Website des Verlags:
  • http://search.cpan.org/~smueller/InlineX-XS-0.02/lib/InlineX/XS.pm

Algorithmus :: Curvefit. Stichworte


Algorithmus :: Curvefit. Beschreibung

Algorithmus :: Curvefit - Nichtlineare Mindestquadrate. Algorithmus :: Curvefit - Nichtlineare kleinste Quadrate Anpassen.Synopsisuse-Algorithmus :: Curvefit; # Bekannte Form der Formel My $ formula = 'c + a * x ^ 2'; meine $ variable = 'x'; mein @xdata = read_file ('xdata'); # Die Daten korrespontiert auf $ variable my @ydata = read_file ('ydata'); # Die Daten auf der anderen Achse my @parameter = (# namens rate genauigkeit , # Wenn eine Iteration kleiner wird einführt, ändert sich # die Genauigkeit, enden. ); mein $ max_iter = 100; # Maximale Iterationen My $ Square_Residual = Algorithmus :: Curvefit-> curve_fit (Formel => $ formel, # kann ein Mathematik sein :: symbolischer Baum statt Parameter => @Parameters, Variable => $ Variable, xdata => @xdata, ydata => @YDATA, Maximum_iterations => $ max_iter,); Verwenden Sie Daten :: Dumper; Drucken von Dumper @Parameters; # Drucke # $ var1 = , # #] #] # ; # # Echte Werte der Parameter (wie durch laute Eingabedaten demonstriert): # A = 0,2 # C = 2Algorithmus :: Curvefit implementiert einen nichtlinearen Quadraten-Kurven-Anhaltsalgorithmus. Das heißt, es passt zu einer Kurve von bekannter Form (Sinus, Exponential, Polynom von Grad n usw.) an einen bestimmten Satz von Datenpunkten. Für Details zum Algorithmus und seinen Fähigkeiten und Mängeln werden Sie dazu aufgefordert, zu lesen Die untenstehende MATHWorld-Seite. Beachten Sie jedoch, dass es sich um einen iterativen Algorithmus handelt, der den Sitz mit jeder Iteration verbessert, bis sie konvergiert. Die folgende Faustregel gilt in der Regel true: Eine gute Vermutung verbessert die Wahrscheinlichkeit der Konvergenz und die Qualität der Fit.infore, die Anzahl der freien Parameter verringert, verringert die Qualitäts- und Konvergenzgeschwindigkeit. Stellen Sie sicher, dass es keine korrelierten Parameter gibt, z. B. in 'a + b * e ^ (c + x) '. (Das Beispiel kann als 'A + B * E ^ C * E ^ X' neu geschrieben werden, in dem 'C' und 'B' grundsätzlich äquivalente Parameter sind. Der Kurven-Anhaltsalgorithmus wird über die Subroutine 'curve_fit' zugegriffen. Es erfordert das Folgende Parameter als 'Key => Wert' Paare: Formulathe-Formel sollte eine Zeichenfolge sein, die von Math :: symbolisch analysiert werden kann. Alternativ kann es ein vorhandener Math :: symbolischer Baum sein. Bitte beachten Sie die Dokumentation dieses Moduls für die Syntax.Valuation der Formel für einen bestimmten Wert der Variablen (X-Daten) und die Parameter (siehe unten) sollten den zugehörigen Y-Data-Wert bei perfekter fit.variablethe 'Variable' ergeben. 'ist die Variable in der Formel wird durch die X-Datenpunkte für die Auswertung ersetzt. Wenn im Anruf zu Curve_FIT weggelassen, ist der Name 'X' Standard (daher "xdata".) Paramsthe-Parameter sind die Symbole in der Formel, deren Wert vom Algorithmus variiert wird um die beste Passform der Kurve an die Daten zu finden. Es kann einen oder mehrere Parameter geben, aber denken Sie daran Dass die Anzahl der Parameter nicht nur die Bearbeitungszeit erhöht, sondern auch die Qualität der Passform verringert. Der Wert dieser Optionen sollte ein anonymes Array sein. Dieses Array sollte für jeden Parameter ein anonyme Array halten. Dieses Array sollte (in der Reihenfolge) einen Parameternamen, eine anfängliche Vermutung und optional eine Genauigkeitsmaßnahme halten. Example: $ params = , , .. .]; Dann später: curve_fit (... params => $ params, ...); Die Genauigkeitsmessung bedeutet, dass, wenn die Änderung der Parameter von einer Iteration zum nächsten unter jeder Genauigkeitsmessung für jeden Parameter liegt, Konvergenz angenommen wird und der Algorithmus angenommen wird Hör auf, iteratieren zu verhindern Das bedeutet, dass die ursprüngliche Datenstruktur die beste Schätzung der Parameter hält.XDatathis sollte ein Array-Bezug auf ein Array sein, das die Daten für die Variable der Funktion hält. (Welche standardmäßig auf 'x' ist.) Ydatathis sollte ein Array-Bezug auf ein Array sein, das die Funktionswerte hält, die den X-Werten in 'xdata'.maximum_iterationsoptional-Parameter entsprechen, um den Prozess nach einer bestimmten Anzahl von Iterationen anzuhalten. Mit der Genauigkeitsmessung und diese Option wird zusammengefasst, um zu verhindern, dass der Algorithmus in einigen Fällen in eine endlose Schleife geht. Die Subroutine gibt die Summe der quadratischen Residuen nach der endgültigen Iteration als Maß an die Qualität der FIT an. Anforderungen: · Perl.


Algorithmus :: Curvefit. Zugehörige Software