# Akima-Interpolation

Die Akima-Interpolation ist ein mathematisches Verfahren der Numerik zur Spline-Interpolation. Ein Spline ist eine Funktion, die stückweise aus Polynomen besteht. Bei der Akima-Interpolation werden die Stützstellen durch Polynome dritten Grades verbunden. An den Stützstellen wird allerdings nicht - wie oft üblich - gefordert, dass die zweite Ableitung des Splines stetig ist. Die Forderung der Stetigkeit erzeugt damit Überschwinger bei starken Gradientänderungen. Die Akima-interpolierte Kurve verläuft durch jeden Stützpunkt und beschreibt von Stützpunkt zu Stützpunkt einen homogenen Kurvenverlauf. Kann auf die Stetigkeit der zweiten Ableitung nicht verzichtet werden, so ist die Akima-Interpolation per definitionem ungeeignet. Soll die zweite Ableitung in einer anderen Form von Interpolation in die Berechnung einfließen, müsste diese fehlertolerant sein. Bei solchen Anwendungen führt auch der Mittelwert aus den zweiten Ableitungen der Polynome links und rechts der Stützstellen zu genügend genauen Ergebnissen. Diese Methode wurde im Jahr 1970 von Hiroshi Akima entwickelt.

## Verfahren

Akima ging bei seinem Verfahren auf die Grundüberlegung der Interpolation zurück: Was geschieht, wenn eine Kurve manuell gezeichnet wird? Offensichtlich wird beim Zeichnen nur ein lokales Teilintervall von Punkten berücksichtigt. Dieser Aspekt war es, den er in eine mathematische Form brachte.
Definiert man im i-ten Intervall ein Polynom der Form
    $p_{i}(x)=a_{i}+b_{i}(x-x_{i})+c_{i}(x-x_{i})^{2}+d_{i}(x-x_{i})^{3}$
mit der Bedingung, dass diese Funktion durch die i-te und i+1-te Stützstelle verläuft, also dass gilt:
    $p_{i}(x_{i})=y_{i}$
    $p_{i}(x_{i+1})=y_{i+1}$
und dass der Gradient der Funktion in den Stützstellen eine noch zu bestimmende Steigung aufweist,
    $p_{i}'(x_{i})=t_{i}$
    $p_{i}'(x_{i+1})=t_{i+1}$
so können die Polynomkoeffizienten berechnet werden:
    $a_{i}=y_{i}$
    $b_{i}=t_{i}$
    $c_{i}={\frac {3{\frac {y_{i+1}-y_{i}}{x_{i+1}-x_{i}}}-t_{i+1}-2t_{i}}{x_{i+1}-x_{i}}}$
    $d_{i}={\frac {t_{i+1}+t_{i}-2{\frac {y_{i+1}-y_{i}}{x_{i+1}-x_{i}}}}{{(x_{i+1}-x_{i}})^{2}}}$.
Diese Art der Koeffizientenbestimmung ist als Hermite-Interpolation bekannt. Hiroshi Akima bestimmte die Steigung t$_i$ am i-ten Punkt mit Hilfe von je zwei rechts und links benachbarten Punkten. Das Kernstück der Akima-Interpolation ist die Steigungsformel. Sie liefert aus den Geradensteigungen m$_i$ die Steigung t$_i$ der Interpolation an der Stelle $x_{i}$.
    $m_{i}={\frac {y_{i+1}-y_{i}}{x_{i+1}-x_{i}}}$
    $t_{i}={\frac {|m_{i+1}-m_{i}|m_{i-1}+|m_{i-1}-m_{i-2}|m_{i}}{|m_{i+1}-m_{i}|+|m_{i-1}-m_{i-2}|}}$
Zum Verständnis der Wirkungsweise dieses Ausdrucks kann man die vier folgenden Fälle betrachten:
* t$_i$ = m$_{i-1}$ , wenn m$_{i-2}$ = m$_{i-1}$ und m$_i$ ≠ m$_{i+1}$
* t$_i$ = m$_i$ , wenn m$_{i-2}$ ≠ m$_{i-1}$ und m$_i$ = m$_{i+1}$
* t$_i$ = m$_{i-1}$ , wenn m$_{i-1}$ = m$_i$
* t$_i$ = 1/2 {\textstyle {\frac {1}{2}}} (m$_{i-1+}$ m$_{i)}$ , wenn m$_{i-2}$ = m$_{i-1}$ und m$_i$ = m$_{i+1}$
Da n Steigungen berechnet werden müssen, sind zwei extrapolierte Punkte links und rechts vom Wertebereich notwendig. Diese werden durch je ein Polynom zweiten Grades bestimmt, das mit Hilfe der letzten drei Stützstellen ermittelt wird. Dazu gelten für die Stützstellen $x_{i}$ die Vorgaben
    $x_{3}-x_{1}=x_{2}-x_{1}=x_{1}-x_{2}$
und
    $x_{n}-x_{n-2}=x_{n+1}-x_{n-1}=x_{n+2}-x_{n}$.
Damit sind die vier Koeffizienten für alle $n-1$-Polynome bestimmt.