MF_polyinterpolMD_polyinterpolME_polyinterpol
FunktionPolynom-Interpolation von Matrix-Elementen
Syntax C/C++#include <MFstd.h>
void MF_polyinterpol( fMatrix MZ, fVector X, fVector Y, ui ht, ui len, fVector XTab, fVector YTab, fMatrix MZTab, ui httab, ui lentab, unsigned degX, unsigned degY );
C++ VecObj#include <OptiVec.h>
void matrix<T>::polyinterpol( const vector<T>& X, const vector<T>& Y, const vector<T>& XTab, const vector<T>& YTab, const matrix<T>& MZTab, unsigned degX, unsigned degY );
Pascal/Delphiuses MFstd;
procedure MF_polyinterpol( MZ:fMatrix; X, Y:fVector; ht, len:UIntSize; XTab, YTab:fVector; MZTab:fMatrix; httab, lentab, degX, degY:UInt );
BeschreibungFür jedes der ht * len Elemente des durch X und Y aufgespannten Koordinatensystems wird ein MZ-Wert gewonnen durch polynomische Interpolation einer Tabelle. Diese Tabelle muß in Form von XTab-YTab-MZTab-Werten vorliegen. XTab und YTab müssen geordnet sein (strikt aufsteigend oder abfallend). Außerdem müssen jeweils alle Werte von XTab und YTab verschieden sein (es können keine zwei MZTab-Werte zu ein- und demselben XTab- bzw. YTab- Wert gehören!). Andernfalls droht Programmabbruch durch eine Division durch 0.
Der Parameter degX bezeichnet die Anzahl von in die Interpolation in X-Richtung einbezogenen Punkten (also nicht den Grad des interpolierenden Polynoms!). Entsprechend bezeichnet degY die Anzahl von in die Interpolation in Y-Richtung einbezogenen Punkten. Jeder Wert zwischen 0 und 2 wird als lineare Interpolation ausgeführt. Maximal ist eine 10-Punkt-Interpolation möglich. Außerdem muß lentab mindestens degX+1 betragen und httab mindestens degY+1.
FehlerbehandlungWerte von degX oder degY > 10 führen zu einer Fehlermeldung "Not possible with more than 10 elements" und zum Programmabbruch. Wenn degX größer ist als lentab-1 oder degY größer als httab-1, wird die Meldung "Invalid parameter(s)" ausgegeben und das Programm ebenfalls abgebrochen.
Andere Fehler werden nicht abgefangen (Sie sind also selbst dafür verantwortlich, daß alle XTab- und YTab-Werte verschieden sind, daß die MZTab-Werte nicht schon nahe an der Überlaufgrenze sind.)
Rückgabewertkeiner
QuerverweisMF_ratinterpol,   MF_natCubSplineInterpol,   VF_polyinterpol

MatrixLib Inhaltsverzeichnis  OptiVec Home