OriginLab Corporation - Data Analysis and Graphing Software - 2D graphs, 3D graphs, Contour Plots, Statistical Charts, Data Exploration, Statistics, Curve Fitting, Signal Processing, and Peak Analysis     
 
Skip Navigation Links
All BooksExpand All Books
Origin HelpExpand Origin Help
Regression and Curve FittingExpand Regression and Curve Fitting
Nonlinear Curve FittingExpand Nonlinear Curve Fitting
Special NLFit Curve Fit OperationsExpand Special NLFit Curve Fit Operations

Nichtlineare implizite Kurvenanpassung (nur OriginPro)

Um Ihre Daten mit impliziten Anpassungsfunktionen anzupassen, können Sie die Standardfunktionen der nichtlinearen impliziten Kurvenanpassung verwenden oder Ihre eigenen impliziten Anpassungsfunktionen erstellen.

Die implizite Anpassung verwendet den Algorithmus der orthogonalen Distanzregression (ODR).

Inhalt

Mit impliziten Funktionen anpassen

Um eine implizite Funktion anzupassen,

  1. wählen Sie im Menü Analyse: Anpassen: Nichtlineare implizite Kurvenanpassung, um den Dialog zu öffnen.
  2. Wählen Sie eine Funktion in der Kategorie Implizit.

 

Hinweise: Implizite Anpassungsfunktionen verwenden die orthogonale Distanzregression.

Implizite Anpassung mit mehr als zwei Variablen

Bitte beachten Sie Folgendes, wenn Sie die implizite Anpassung mit mehr als 2 unabhängigen Variablen ausführen:

  • Ihre Eingabedaten müssen Arbeitsblattdaten sein, d.h., Sie können die Anpassung in diesem Fall nicht von einer Datenzeichnung aus ausführen.
  • Nur der Datentyp Angepasster Punkt für Eingabedaten wird für alle Variablen unterstützt. Um diese Einstellung in dem Dialog NLFit zu modifzieren, wechseln Sie zur Registerkarte Einstellungen und wählen Sie Angepasste Kurven. Erweitern Sie den Zweig Angepasstes Kurvendiagramm und setzen Sie den Datentyp der Variable auf Angepasster Punkt für Eingabedaten.
  • Die automatische Erzeugung einer angepassten Kurve wird nicht unterstützt. Allerdings könnten Sie die Daten für die angepasste Kurve im Berichtsblatt erhalten.

Eine benutzerdefinierte implizite Anpassungsfunktion erstellen

Um Ihre eigene implizite Anpassungsfunktion zu erstellen, müssen Sie zuerst den Dialog Fitfunktionen erstellen aufrufen, entweder indem Sie:

  1. im Menü Analyse: Anpassen: Nichtlineare implizite Kurvenanpassung auswählen, um den Dialog NLFit zu öffnen.
  2. im Auswahlmenü von Funktion die Option <Neu...> wählen.

oder

Wählen Sie Hilfsmittel: Fitfunktionen erstellen oder drücken Sie auf F8.

Wenn der Dialog Fitfunktionen erstellen geöffnet ist,

  1. Wählen Sie die Option Eine neue Funktion erstellen und klicken Sie auf Weiter.
  2. Wählen Sie die Option Implizit unter Funktionsmodell.


oder

  1. Wählen Sie Hilfsmittel: Fitfunktionen verwalten im Menü (oder drücken Sie F9), um den Dialog Fitfunktionen verwalten zu öffnen.
  2. Erstellen Sie eine neue Funktion in der Kategorie Implizit.

Beachten Sie, dass Sie nur die implizite Anpassung mit Funktionen der Kategorie Implizit durchführen können. Sie müssen also jede erstellte implizite Funktion in die Kategorie Implizit im Dialog Fitfunktionen verwalten verschieben.

Lesen Sie in der Origin-Hilfe nach, wie Sie eine benutzerdefinierte Anpassungsfunktion definieren.

Dies ist ein kurzes Tutorial, das Ihnen zeigt, wie Sie eine benutzerdefinierte implizite Anpassungsfunktion erstellen und Daten mit ihr anpassen.

  1. Wählen Sie Hilfsmittel: Fitfunktionen verwalten im Menü oder drücken Sie F9, um den Dialog Fitfunktionen verwalten zu öffnen.
  2. Wählen Sie die Kategorie Implizit und klicken Sie auf die Schaltfläche Neue Funktion.
  3. Geben Sie Hyperbolic als Funktionsname ein und setzen Sie das Funktionsmodell auf Implizit und die Funktionsform auf Equations (Gleichungen).
  4. Geben Sie x,y im Feld Variablen sowie a, b, c, d, e im Feld Parameter ein.
  5. Geben Sie Folgendes im Funktionskörper ein:
    f=a*x^2+b*x*y+c*y^2+d*x+e*y-1;
    
    Beachten Sie, dass der Wert f auf 0 geschätzt wird.
  6. Klicken Sie auf Speichern, um die Funktion zu speichern, und klicken Sie auf OK, um den Dialog zu schließen.
  7. Bereiten Sie einige Testdaten vor, die einem hyperbolischen Trend folgen, und importieren Sie sie in Origin. Sie können die Schaltfläche Simulieren im Dialog Fitfunktionen verwalten, um Daten mit hinzugefügtem Rauschen zu erzeugen.
  8. Legen Sie Spalte A als X fest und Spalte B als Y.
  9. Markieren Sie Spalte A und B und wählen Sie Analyse: Anpassen: Nichtlineare implizite Kurvenanpassung, um den Dialog NLFit zu öffnen.
  10. Wählen Sie im Menü Funktionsauswahl die Option Hyperbolisch(User) und klicken Sie auf Fit.
Hinweis: Die Anpassung mit einer benutzerdefinierten Funktion erfordert eine Parameterinitialisierung. Ein Wert von 1 für jeden Parameter sollte für eine hyperbolische Funktion ausreichen.

Explizite Funktionen mit ODR anpassen

Der Standardalgorithmus für die Iteration ist Levenberg-Marquardt (L-M) für explizite Anpassungsfunktionen. Es ist möglich, den Algorithmus der Orthogonalen Distanzregression (ODR) für explizite Funktionen zu verwenden. Dafür:

  1. Wählen Sie im Menü Analyse: Anpassen: Nichtlinearer Fit oder drücken Sie Strg+Y, um den Dialog NLFit zu öffnen.
  2. Nach Auswahl einer Funktion wählen Sie Orthogonale Distanzregression (Pro) in der Auswahlliste Iterationsalgorithmus.

Iterationsalgorithmus

ODR-Algorithmus

Der Algorithmus der ODR (Orthogonale Distanzregression) minimiert die Summe der Fehlerquadrate, indem sowohl Anpassungsparameter und Werte der unabhängigen Variable in dem iterativen Prozess angepasst werden. Das Residuum in der ODR ist nicht die Differenz zwischen dem beobachteten Wert und dem vorhergesagten Wert für die abhängige Variable, sondern die orthogonale Distanz zwischen den Daten zu der angepassten Kurve.

Origin verwendet den ODR-Algorithmus in ODRPACK95. ODR-Methode kann für sowohl implizite als auch explizite Funktionen verwendet werden.

Für eine explizite 2D-Funktion y=f(x,\beta ) könnte der ODR-Algorithmus folgendermaßen ausgedrückt werden:

\min\left (\sum_{i=1}^{n}\left (w_{yi}\cdot \epsilon_{i} ^{2}+w_{xi}\cdot \delta_{i}^{2} \right ) \right )

unterliegt den Nebenbedingungen:

y_{i}=f\left ( x_{i} +\delta_{i}; \beta \right )-\epsilon _{i}\ \ \ \ \ \ i=1,...,n

wobei w_{xi} und w_{yi} die Gewichtungen der Anwendereingabe von x_{i} und y_{i} sind sowie \delta_{i} und \epsilon_{i} das Residuum der entsprechenden x_{i} und y_{i}. \beta ist der Anpassungsparameter.

Origin verwendet den ODR-Algorithmus in ODRPACK95.

Für eine implizite 2D-Funktion y=f(x, y, \beta ) könnte der ODR-Algorithmus folgendermaßen ausgedrückt werden:

\min\left (\sum_{i=1}^{n}\left ( w_{xi}\cdot \delta_{xi}^{2}+w_{yi}\cdot \delta_{yi}^{2} \right ) \right )

unter der Bedingung:

f\left ( x_{i}+\delta_{xi},y_{i}+\delta_{yi},\beta \right )= 0\ \ \ \ \ \ i=1,...,n

wobei w_{xi} und w_{yi} die Gewichtungen der Anwendereingabe von x_{i} und y_{i} sind sowie \delta_{xi} und \delta_{yi} das Residuum der entsprechenden x_{i} und y_{i}. \beta ist der Anpassungsparameter.

L-M-Algorithmus

Der L-M-Algorithmus (Levenberg-Marquardt) minimiert die Summe der Fehlerquadrate, indem die Anpassungsparameter in dem iterativen Prozess angepasst werden. Das Residuum in L-M ist die Differenz zwischen dem beobachteten Wert und dem vorhergesagten Wert der abhängigen Variablen. Der Algorithmus kombiniert die Gauss-Newton-Methode und die Methode des steilsten Abfalls. Er kann nur in expliziten Funktionen verwendet werden.

Der L-M-Algorithmus funktioniert für die meisten Fälle, die auf der allgemeinen Theorie der nichtlinearen Kurvenanpassung basieren.

Für eine explizite 2D-Funktion y=f(x,\beta ) könnte der L-M-Algorithmus folgendermaßen ausgedrückt werden:

\min\left ( \sum_{i=1}^{n}\left ( w_{i}\cdot \epsilon_{i}^{2} \right ) \right )

wobei w_{i} und \epsilon_{i} die Gewichtung bzw. das Residuum von y_{i} sind.

Das Residuum \epsilon_{i} wird berechnet als:

\epsilon_{i}=y_{i}-f\left (x_{i},\beta \right )

Vergleich zwischen ODR und L-M

Um zwischen ODR- und L-M-Algorithmus für Ihre Anpassung zu wählen, können Sie in der folgenden Informationstabelle nachlesen:

Orthogonale Distanzregression Levenberg-Marquardt
Anwendung Implizite und explicit Funktionen Nur explizite Funktionen
Gewichtung Unterstützt sowohl X- als auch Y-Gewichtung Unterstützt nur Y-Gewichtung
Residuumsquelle Die orthogonale Distanz von den Daten zu der angepassten Kurve Die Differenz zwischen dem beobachteten Wert und dem vorhergesagten Wert
Iterationsprozess Anpassen der Werte der Anpassungsparameter und der unabhängigen Variablen Anpassen der Werte der Anpassungsparameter

Referenz

"J. W. Zwolak, P.T. Boggs, and L.T. Watson, ``Algorithm 869: ODRPACK95: A weighted orthogonal distance regression code with bound constraints, ACM Transactions on Mathematical Software Vol. 33, Issue 4, August 2007."

 

© OriginLab Corporation. Alle Rechte vorbehalten.