VF_polyVD_polyVE_poly
VFx_polyVDx_polyVEx_poly
FunktionPolynom
Syntax C/C++#include <VFmath.h>
int VF_poly( fVector Y, fVector X, ui size, fVector Coeff, unsigned deg );
int VFx_poly( fVector Y, fVector X, ui size, fVector Coeff, unsigned deg, float A, float B );
C++ VecObj#include <OptiVec.h>
int vector<T>::poly( const vector<T>& X, const vector<T>& Coeff, unsigned deg );
int vector<T>::x_poly( const vector<T>& X, const vector<T>& Coeff, unsigned deg, const T& A, const T& B );
Pascal/Delphiuses VFmath;
function VF_poly( Y, X:fVector; size:UIntSize; Coeff:fVector; deg:UInt ): IntBool;
function VFx_poly( Y, X:fVector; size:UIntSize; Coeff:fVector; deg:UInt; A, B:Single ): IntBool;
Beschreibungnormale Versionen:
Yi = c0 + c1 * Xi + c2 * Xi2 + ... + cn * Xin
erweiterte Versionen:
xi = (A*Xi + B),
Yi = c0 + c1 * xi + c2 * xi2 + ... + cn * xin

Ein Polynom vom Grade n = deg wird für jedes Element von X ausgewertet, wobei die Koeffizienten ck dem Vektor Coeff entnommen werden. Coeff muß das konstante Glied c0 als nulltes Element enthalten, den linearen Koeffizienten c1 als erstes Element usw. bis hin zum Koeffizienten cdeg als deg-tem Element. Man hüte sich vor einer häufigen Fehlerquelle und beachte, daß ein Polynom vom Grade deg durch deg+1 Koeffizienten spezifiziert wird (für ein Polynom vierter Ordnung also durch 5 Koeffizienten; man vergesse nicht den konstanten Term, der immer angegeben werden muß, auch wenn er gleich 0 sein sollte).

FehlerbehandlungOVERFLOW-Fehler führen zu ±HUGE_VAL als Ergebnisvorschlag. Im Unterschied zu der Funktion poly von ANSI-C (wo deg als int deklariert ist) stellt hier die Deklaration von deg als unsigned sicher, daß zu DOMAIN-Fehlern führende negative Werte von deg ausgeschlossen sind.
RückgabewertFALSE (0), wenn fehlerfrei, andernfalls TRUE (!= 0)
QuerverweisVF_ipow,   VF_pow,   poly

VectorLib Inhaltsverzeichnis  OptiVec Home