| 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:UInt; XTab, YTab:fVector; sizetab:UInt; deg:UInt ); |
|
| Beschreibung | Für jedes der sizex Elemente von X wird ein Y-Wert aus vorgegebenen XTab-YTab- Wertepaaren interpoliert. XTab muß 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, daß XTab geordnet ist, daß alle XTab-Werte verschieden sind und daß die YTab-Werte nicht zu dicht an der Überlauf-Grenze liegen). |
|
|
|