public class BSpline extends AbstractApproximation<Double>
Modifier and Type | Field and Description |
---|---|
static long |
DELTA
Die maximale Differenz (1000L ) zwischen Näherungswert und Zielwert.
|
private long |
interpolationsintervall
Das Interpolationsintervall für die Polylinie, die den B-Spline cacht.
|
private de.bsvrz.sys.funclib.debug.Debug |
log
Der Logger der Klasse.
|
static boolean |
OPTIMIERUNG
Wenn die Optimierung eingeschalten ist, werden die Stützstellen des
B-Splines im Abstand von einer Minute ausgerechnet und als Polylinie
gesichert.
|
private int |
ordnung
Die Ordnung des B-Splines.
|
private Polyline |
polyline
Cacht die Interpolation der Approximation.
|
private int[] |
t
Grenzstellen der Interpolationsintervalle, aufsteigend sortiert.
|
Constructor and Description |
---|
BSpline()
Erzeugt einen B-Spline mit der Ordnung 5.
|
BSpline(int ordnung)
Erzeugt einen B-Spline mit beliebiger Ordnung.
|
Modifier and Type | Method and Description |
---|---|
private Stuetzstelle<Double> |
bspline(double t0)
Berechnet die Stützstelle zu einer Intervallstelle.
|
Stuetzstelle<Double> |
get(long zeitstempel)
Gibt die Stützstelle zum angegebenen Zeitstempel zurück.
|
long |
getInterpolationsintervall()
Gibt das Interpolationsintervall für die Polylinie, die den B-Spline
cacht, zurück.
|
int |
getOrdnung()
Gibt die Ordnung des B-Splines zurück.
|
void |
initialisiere()
Bestimmt die Intervallgrenzen der Interpolation.
|
double |
integral(com.bitctrl.util.Interval intervall)
Verwendet eine Polyline-Approximation des Splines zur näherungsweisen
Bestimmung des Integrals.
|
private double |
n(int i,
int m,
double t0)
Berechnet rekursiv das Gewicht einer Stützstelle.
|
void |
setInterpolationsintervall(long interpolationsintervall)
Legt das Interpolationsintervall für die Polylinie, die den B-Spline
cacht, fest.
|
void |
setOrdnung(int ordnung)
Legt die Ordnung des B-Splines fest.
|
String |
toString() |
private double |
zeitstempelNachT(long zeitstempel)
Bestimmt zu einem Zeitstempel die Intervallposition.
|
findeStuetzstelleNach, findeStuetzstelleVor, getIntegrationsintervall, getIntervall, getStuetzstellen, interpoliere, isValid, setIntegrationsintervall, setStuetzstellen
public static final long DELTA
get(long)
,
Constant Field Valuespublic static boolean OPTIMIERUNG
private int ordnung
private int[] t
private Polyline polyline
private long interpolationsintervall
private final de.bsvrz.sys.funclib.debug.Debug log
public BSpline()
public BSpline(int ordnung)
ordnung
- die Ordnung des Bspline.public long getInterpolationsintervall()
setInterpolationsintervall(long)
public void setInterpolationsintervall(long interpolationsintervall)
Hinweis: Nach Änderung des Interpolationsintervalls muss
initialisiere()
aufgerufen werden, um die Änderung zu
übernehmen.
interpolationsintervall
- das Interpolationsintervall.public Stuetzstelle<Double> get(long zeitstempel)
zeitstempel
- Zeitstempelpublic int getOrdnung()
public void initialisiere()
public double integral(com.bitctrl.util.Interval intervall)
intervall
- ein Intervall.AbstractApproximation.setIntegrationsintervall(long)
public void setOrdnung(int ordnung)
ordnung
- Ordnungprivate Stuetzstelle<Double> bspline(double t0)
t0
- Eine Stelle im Intervall des Parameters tprivate double n(int i, int m, double t0)
i
- Index der Stützstelle, dessen Gewicht gesucht istm
- Ordnung des B-Spline und gleichzeitig Invariante der Rekursiont0
- Wert im Intervall des Parameters tprivate double zeitstempelNachT(long zeitstempel)
zeitstempel
- Ein ZeitstempelCopyright © 2017 BitCtrl Systems GmbH. All rights reserved.