Y von X interpolieren/extrapolieren

Video Image.png Weitere relevante Videos: Origin VT-0010 Interpolation

Übersicht

InterpolateYFromX 1.png
Interpolation ist die Methode zum Schätzen und Erstellen neuer Werte aus einem diskreten Satz von bekannten Werten. Bei einem gegebenen X-Vektor interpoliert diese Funktion den Vektor auf Y-Basis für die Eingabekurve (XY-Bereich). Origin liefert vier Optionen für die Dateninterpolation, Linear, Kubische Spline, Kubische B-Spline und Akima-Spline.

Die lineare Interpolation ist die einfachste und schnellste Dateninterpolationsmethode. Bei der linearen Interpolation wird der arithmetische Mittelwert von zwei benachbarten Datenpunkten berechnet. Diese Methode ist für Situationen nützlich, in denen eine geringe Genauigkeit toleriert werden kann. Lineare Interpolation ist auch für extrem große Datensätze nützlich, da Berechnungen nicht zeit- oder rechenintensiv sind.

Die Verallgemeinerung der linearen Interpolation ist die polynomiale Interpolation. Polynomiale Interpolation erfordert eine viel höhere Rechenleistung als die lineare Interpolation. Außerdem schwankt die Anpassung stark, wenn die polynomiale Ordnung hoch ist. Diese Nachteile können vermieden werden, indem polynomiale Anpassungen mit niedriger Ordnung oder eine Spline-Interpolation verwendet wird.

Die Methode der kubischen Spline verwendet Polynomiale 3-ter Ordnung und führt die Datenanpassung stückweise aus. Bei der Spline-Interpolation entstehen weniger Fehler, und die Interpolierende ist glatter.

Ähnlich wie die Interpolation mit der kubischen Spline, passt auch die Interpolation mit der Kubischen B-Spline die Daten stückweise an, verwendet aber die Bezier-Splines 3-ter Ordnung, um die Daten zu approximieren. Mit kubischen B-Splines ist das genau Modellieren allgemeinerer Geometrieklassen möglich.

Y von X interpolieren
  1. Öffnen Sie ein neues Arbeitsblatt mit Eingabedaten.
  2. Wählen Sie die gewünschten Daten aus.
  3. Wählen Sie Analyse: Mathematik: Y von X interpolieren/extrapolieren. Der Dialog interp1 wird geöffnet.

Die X-Funktion interp1 wird aufgerufen, um die Berechnung abzuschließen.

Hinweis: Um einheitliche, linear verteilte interpolierte Werte zu erzeugen, verwenden Sie den Menübefehl Interpolieren/Extrapolieren.

Dialogoptionen

Neu berechnen

Bedienelemente zur Neuberechnung der Analyseergebnisse

  • Kein
  • Auto
  • Manuell

Weitere Informationen finden Sie unter Analyseergebnisse neu berechnen.

Zu interpolierende X-Werte

Die X-Spalte, für die eine Interpolation durchgeführt werden soll

Eingabe

Die Referenzspalte(n) XY, mit deren Hilfe Y von einer bestimmten X-Spalte interpoliert wird. Mehrere XY-Spalten können gewählt werden. Wenn mehrere XY ausgewählt werden, wird jeder Satz von XY als Referenz verwendet, um die gleiche X-Spalte zu interpolieren und die entsprechende Y-Spalte und den Wert des Koeffizienten auszugeben.

Hilfe zum Festlegen von Bereichen finden Sie hier: Eingabedaten festlegen

Methode

Legt die Interpolationsmethode fest.

  • Linear
    Die lineare Interpolation ist eine schnelle Methode zum Schätzen eines Datenpunkts durch Erstellen einer Linie zwischen zwei benachbarten Datenpunkten. Der sich ergebende Punkt ist möglicherweise keine genaue Schätzung der fehlenden Daten.
  • Kubische Spline
    Diese Methode teilt die Eingabedaten in eine gegebene Anzahl von Stücken und passt jedes Segment mit einem kubischen Polynomial an. Die zweite Ableitung von jeder kubischen Funktion ist auf gleich Null gesetzt. Wenn diese Grenzbedingungen erfüllt sind, kann eine gesamte Funktion stückweise erstellt werden.
  • Kubische B-Spline
    Diese Methode teilt die Eingabedaten in Stücke. Jedes Segment wird mit diskreten Bezier-Splines angepasst.
  • Akima-Spline
    Diese Methode basiert auf einer abschnittsweisen Funktion, die sich aus einer Reihe von Polynomialen zusammensetzt. Die Akima-Interpolation ist gegenüber Ausreißern stabil.
Option Extrapolieren

Wenn Teile des Datenbereichs, der durch Zu interpolierende X-Werte festgelegt wird, außerhalb des X-Bereichs liegt, der durch Eingabe festgelegt wird, werden diese Bereiche als der extrapolierte Bereich betrachtet, da die sich ergebenden Y-Werte für diese Teile aus der Extrapolation berechnet werden. Diese Option kann dann dazu verwendet werden festzulegen, wie die entsprechenden Y-Werte extrapoliert werden.

  • Extrapolieren
    Die Y-Werte werden mit Hilfe der letzten beiden Punkte extrapoliert.
  • Als fehlend setzen
    Alle Y-Werte im extrapolierten Bereich werden als fehlende Werte festgelegt.
  • Letzten Wert wiederholen
    Der Y-Wert des am nächsten liegenden X-Werts wird für alle Werte in dem extrapolierten Bereich verwendet.
Rand

Die Grenzbedingung ist nur bei der Methode der kubischen Spline verfügbar.

  • Natürlich
    Die 2-ten Ableitungen sind an beiden Enden 0.
  • Not-A-Knot
    Die 3-ten Ableitungen sind stetig für den zweiten und zweitletzten Punkt.
Glättungsfaktor

Die Glättung ist nur bei der Methode der kubischen Spline verfügbar.

Ergebnis der Interpolation

Die Y-Spalte(n), in der die interploierten Y-Werte ausgegeben werden.

Koeffizienten

Die Koeffizienten für die Spline- oder B-Spline-Methode können ausgegeben und die entsprechende Spalte kann angegeben werden.

Algorithmus

Es ist eine Sequenz von eindeutigen Datenpaaren (x_i\,, y_i\,) gegeben, wobei i= 0, 1, ... n-1\!. Es wird nach den interpolierten y\! bei x\! mit Hilfe der folgenden Methoden gesucht:

1. Lineare Interpolation (interp1q)

Für x<x_{0,}y=y_0+\frac{y_1-y_0}{x_1-x_0}\times (x-x_0)

Für x>x_{n-1,}y=y_{n-1}+\frac{y_{n-1}-y_{n-2}}{x_{n-1}-x_{n-2}}\times (x-x_{n-1})

Für x_i<x<x_{i+1,}y=y_i+\frac{(y_{i+1}-y_{i)}}{(x_{i+1}-x_{i)}}\times (x-x_i)

2. Kubische Spline (spline)

Origin verwendet die natürliche kubische Spline, um die Interpolation durchzuführen:

y=Ay_i+By_{i+1}+Cy_i^{''}+Dy_{i+1}^{''}

wobei:

A\equiv \frac{x_{i+1}-x}{x_{i+1}-x_i},B\equiv 1-A,C\equiv \frac 16\left( A^3-A\right) \left( x_{i+1}-x_i\right) ^2,D\equiv \frac 16(B^3-B)(x_{i+1}-x_i)^2

Und y_i^{''} kann erzeugt werden aus:

\frac{x_i-x_{i-1}}6y_{i-1}+\frac{x_{i+1}-x_{i-1}}3y_i+\frac{x_{i+1}-x_i}6y_{i+1}=\frac{y_{i+1}-y_i}{x_{i+1}-x_i}-\frac{y_i-y_{i-1}}{x_i-x_{i-1}}

Für die Grenzpunkte setzen wir y_o^{''} und y_{n-1}^{''} gleich Null.

3. Kubische B-Spline (bspline)

Führen Sie für x<x_0\! oder x>x_{n-1}\! eine lineare Interpolation durch.

Für x_0<x<x_{n-1},y=\sum_{i=1}^{n-4} c_iN_i(x)

N(x)\! bezeichnet die normierte kubische B-Spline, die durch die Knoten x_i\,, x_i+1\,, ..., x_i+4\, definiert wird. c_i\, bezeichnet den Koeffizienten der entsprechenden Funktion.

Die Gesamtanzahl n\! dieser Knoten und ihrer Werte x_1\,, ..., x_n\, wird automatisch durch die Funktion gewählt. Die Knoten x_5\,, ..., x_n-4\, sind Innenknoten; sie teilen das Approximationsintervall [x_1\,, x_m\,] in n-7\! Subintervalle. Die Koeffizienten c_1\,, c_2\,, ..., c_n-4\, werden dann als Lösung des folgenden begrenzten Minimierungsproblem bestimmt:

Minimiert

\eta =\sum_{i=5}^{n-4}\delta _i^2\,

unter der Bedingung

\theta =\sum_{r=1}^m\varepsilon _r^2\leq S\,

wobei \delta _i\, für den Diskontinuitätssprung in der Ableitung 3. Ordnung von y\! beim Innenknoten x_i\, steht. \varepsilon _r\, bezeichnet das gewichtete Residuum w_r (y_r-y(x_r))\,, und S ist eine nicht negative Anzahl, die vom Anwender festgelegt wird.

Die Menge \eta\, kann als Maßstab der (des Mangels an) Glätte von y\! betrachtet werden, während die Geschlossenheit der Anpassung mit Hilfe von \theta\, gemessen wird. Mit Hilfe des Parameters S\!, 'dem Glättungsfaktor', kann der Anwender dann die Balance zwischen diesen zwei (normalerweise in Konflikt stehenden) Eigenschaften steuern. Wenn S\! zu groß ist, wird die Spline zu glatt und das Signal geht verloren (underfit); wenn S\! zu klein ist, nimmt die Spline zu viel Rauschen auf (overfit). In Extremfällen gibt die Funktion eine interpolierende Spline (\theta\,=0) zurück, S\! ist auf Null gesetzt und das gewichtete kubische Polynomial der kleinsten Quadrate (\eta\,=0) ist S\!, wenn es auf sehr groß gesetzt ist. Versuche mit S\! Werten zwischen diesen beiden Extremen sollte zu einem guten Kompromiss führen.

4. Akima-Spline (akima)

Die Akima-Interpolationsmethode basiert auf einer stückweisen Funktion, die sich aus einer Reihe von Polynomialen (zumeist dritter Ordnung) zusammensetzt. Diese stückweise Funktion kann auf aufeinanderfolgende Intervalle der gegebenen XY-Punkte angewendet werden. Es kann angenommen werden, dass die Steigung der Eingabedatenzeichnung bei jedem gegebenen Punkt durch die XY-Koordinaten der 4 Nachbarpunkte und dem Punkt selbst bestimmt wird. Danach kann aus den Steigungen bei zwei verbundenen gegebenen Punkten und deren Koordinaten ein Polynomial dritter Ordnung berechnet werden, das die Intervallkurve zwischen diesen beiden Punkten darstellt. Die Interpolation wird dann basierend auf der Kombination der Polynomialen ausgeführt. Eine zusätzliche Schätzung wird gemacht, wenn die Polynomiale für die Endpunkte berechnet werden.

Zuerst wird die Kurvensteigung t bei einem gegebenen Punkt berechnet. Für einen gegebenen Punkt (Punkt 3) gibt es fünf Datenpunkte 1, 2, 3, 4, 5. m_{1}, m_{2}, m_{3}, m_{4} sind jeweils die Steigungen der Liniensegmente \bar{12}, \bar{23}, \bar{34}, \bar{45} und m_i=(y_{i+1}-y_i)/(x_{i+1}-x_i). Die Kurvensteigung t wird dann bestimmt von den folgenden Gleichungen unter unterschiedlichen Bedingungen:

Wenn m_{1}\neq m_{2} oder m_{3}\neq m_{4},

t = \left ( \left | m_{4} - m_{3} \right |m_{2} + \left | m_{2} - m_{1} \right |m_{3} \right )/\left ( \left | m_{4} - m_{3} \right | + \left | m_{2} - m_{1} \right |\right )

Wenn m_{1} = m_{2} und m_{3} = m_{4},

 t = \frac{(x_4-x_3)m_2 + (x_3-x_2)m_3}{x_4-x_2}

Steigungen für die beiden Endpunkte müssen an jedem Ende der Kurve geschätzt werden. Um sie zu schätzen, berechnen Sie die Steigung, indem Sie eine parabolische Kurve aus den drei angrenzenden Punkten interpolieren, d.h. für die Steigung des ersten Punkts können Sie eine parabolische Kurve aus den ersten drei Punkten interpolieren, und die Steigung des ersten Punkts kann durch die Ableitung der interpolierten Kurve berechnet werden.

Das Polynomial für ein Intervall [x_i, x_{i+1}] zwischen den beiden aufeinanderfolgenden Datenpunkten \left ( x_i, y_i \right ) und \left ( x_{i+1}, y_{i+1} \right ) wird von den folgenden vier Bedingungen bestimmt:

y|_{x=x_i} = y_i
y'|_{x=x_i}=t_i
y|_{x=x_{i+1}} = y_{i+1}
y'|_{x=x_{i+1}}=t_{i+1}

wobei t_i und t_{i+1} die Steigungen der beiden Punkte sind.

Referenzen

1. Michelle Schatzman. Numerical Analysis: A Mathematical Introduction, Chapters 4 and 6. Clarendon Press, Oxford (2002).

2. William H. Press, etc. Numerical Recipes in C++. 2nd Edition. Cambridge University Press (2002).

3. Nag C Library Function Document, nag_1d_spline_fit (e02bec).

4. Hiroshi Akima, Journal of the Association for Computing Machinery, Vol. 17, Nr. 4, (1970)