| VF_splineinterpol | VD_splineinterpol | VE_splineinterpol |
|
| Funktion | allgemeine kubische Spline-Interpolation |
|
| Syntax C/C++ | #include <VFstd.h>
void VF_splineinterpol( fVector Y, fVector X, ui sizex, fVector XTab, fVector YTab, fVector Y2Tab, ui sizetab ); |
| C++ VecObj | #include <OptiVec.h>
void vector<T>::splineinterpol( const vector<T>& X, const vector<T>& XTab, const vector<T>& YTab, const vector<T>& Y2Tab ); |
| Pascal/Delphi | uses VFstd;
procedure VF_splineinterpol( Y, X:fVector; sizex:UIntSize; XTab, YTab, Y2Tab:fVector; sizetab:UIntSize ); |
|
| Beschreibung | Für jedes der sizex Elemente of X wird ein Y-Wert gewonnen durch kubische Spline-Interpolation einer Tabelle. Diese Tabelle muß in Form von XTab-YTab-Wertepaaren vorliegen, wobei zusätzlich die zweite Ableitung von YTab als Y2Tab übergeben werden muß. Y2Tab ist durch vorherigen Aufruf von VF_splinederiv2 zu erstellen. XTab muß geordnet sein (strikt aufsteigend oder abfallend). Außerdem müssen alle Werte von XTab verschieden sein (es können keine zwei YTab-Werte zu ein- und demselben XTab-Wert gehören!). Andernfalls droht Programmabbruch durch eine Division durch 0.
Für die meisten Anwendungszwecke bietet sich als vereinfachte Alternative zu dieser Funktion der Aufruf von VF_natCubSplineInterpol an.
sizetab muß mindestens 3 betragen. |
|
| Fehlerbehandlung | keine (Sie sind also selbst dafür verantwortlich, daß alle XTab-Werte verschieden sind, daß die YTab-Werte nicht schon nahe an der Überlaufgrenze sind und daß die Tabelle mindestens aus drei Punkten besteht.) |
|
|
|