VF_polyinterpol | VD_polyinterpol | VE_polyinterpol |
|
Funktion | Polynom-Interpolation von X-Y-Tabellenwerten |
|
Syntax C/C++ | #include <VFstd.h>
void VF_polyinterpol( fVector Y, fVector X, ui sizex, fVector XTab, fVector YTab, ui sizetab, unsigned deg ); |
C++ VecObj | #include <OptiVec.h>
void vector<T>::polyinterpol( const vector<T>& X, const vector<T>& XTab, const vector<T>& YTab, unsigned deg ); |
Pascal/Delphi | uses VFstd;
procedure VF_polyinterpol( Y, X:fVector; sizex:UIntSize; XTab, YTab:fVector; sizetab:UIntSize; deg:UInt ); |
|
CUDA-Funktion C/C++ | #include <cudaVFstd.h>
int cudaVF_polyinterpol( fVector d_Y, fVector d_X, ui sizex, fVector d_XTab, fVector d_YTab, ui sizetab, unsigned deg );
void VFcu_polyinterpol( fVector h_Y, fVector h_X, ui sizex, fVector h_XTab, fVector h_YTab, ui sizetab, unsigned deg );
|
CUDA-Funktion Pascal/Delphi | uses VFstd;
function cudaVF_polyinterpol( d_Y, d_X:fVector; sizex:UIntSize; d_XTab, d_YTab:fVector; sizetab:UIntSize; deg:UInt ): IntBool;
procedure VFcu_polyinterpol( h_Y, h_X:fVector; sizex:UIntSize; h_XTab, h_YTab:fVector; sizetab:UIntSize; deg:UInt );
|
|
Beschreibung | Für jedes der sizex Elemente von X wird ein Y-Wert aus vorgegebenen XTab-YTab- Wertepaaren interpoliert. XTab muss geordnet sein (streng aufsteigend oder absteigend). Alle Werte von XTab müssen verschieden sein. Andernfalls kann eine Division durch 0 zum Programmabbruch führen. Für die einzelnen Elemente von X findet die Routine selbst die geeignete Stelle in der Tabelle, an der die Interpolation anzusetzen hat.
Der Parameter deg bezeichnet die Anzahl von in die Interpolation einbezogenen Punkten (also nicht den Grad des interpolierenden Polynoms!). Jeder Wert zwischen 0 und 2 wird als lineare Interpolation ausgeführt. Maximal ist eine 10-Punkt-Interpolation möglich. Außerdem muß sizetab mindestens deg+1 betragen. |
|
Fehlerbehandlung | Werte von deg > 10 führen zu einer Fehlermeldung "Not possible with more than 10 elements" und zum Programmabbruch. Wenn deg größer ist als sizetab−1, wird die Meldung "Invalid parameter(s)" ausgegeben und das Programm ebenfalls abgebrochen.
Andere Fehler werden nicht detektiert (Sie müssen also selbst Sorge tragen, dass XTab geordnet ist, dass alle XTab-Werte verschieden sind und dass die YTab-Werte nicht zu dicht an der Überlauf-Grenze liegen). |
|
|
|