FunctionCubic-spline interpolation of X-Y-table values with given second derivatives of the table
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/Delphiuses VFstd;
procedure VF_splineinterpol( Y, X:fVector; sizex:UIntSize; XTab, YTab, Y2Tab:fVector; sizetab:UIntSize );
CUDA function C/C++#include <cudaVFstd.h>
int cudaVF_splineinterpol( fVector d_Y, fVector d_X, ui sizex, fVector d_XTab, fVector d_YTab, fVector d_Y2Tab, ui sizetab );
void VFcu_splineinterpol( fVector h_Y, fVector h_X, ui sizex, fVector h_XTab, fVector h_YTab, fVector h_Y2Tab, ui sizetab );
CUDA function Pascal/Delphiuses VFstd;
function cudaVF_splineinterpol( d_Y, d_X:fVector; sizex:UIntSize; d_XTab, d_YTab, d_Y2Tab:fVector; sizetab:UIntSize );
procedure VFcu_splineinterpol( h_Y, h_X:fVector; sizex:UIntSize; h_XTab, h_YTab, h_Y2Tab:fVector; sizetab:UIntSize );
DescriptionFor each of the sizex elements of X, the corresponding element of Y is interpolated from the XTab-YTab value pairs. A table of second derivatives of YTab is needed that has to be generated by a call to VF_splinederiv2 prior to calling VF_splineinterpol. XTab must be ordered (either ascending or descending). All values of XTab must be distinct; otherwise a division by zero may occur and lead to a program abort. sizetab must be greater than or equal to 3.
For a simplified alternative to this function, consider VF_natCubSplineInterpol.
Error handlingnone (you have to take care yourself that the XTab values are distinct and that the YTab values are not near the limit of overflowing).
Return valuenone
See alsoVF_natCubSplineInterpol,   VF_splinederiv2,   VF_ratinterpol,   VF_polyinterpol

VectorLib Table of Contents  OptiVec home