corina.index
Class CubicSpline
java.lang.Object
|
+--corina.index.Index
|
+--corina.index.CubicSpline
- All Implemented Interfaces:
- Graphable, Runnable, UndoableEdit
- public class CubicSpline
- extends Index
A cubic spline index.
The algorithm was (first?) discussed in "The Smoothing Spline: A
New Approach to Standardizing Forest Interior Tree-Ring Width
Series for Dendroclimatic Studies", Edward R. Cook and Kenneth
Peters, Tree-Ring Bulletin, Vol. 41, 1981. The algorithm they used
comes from Reinsch, C. H., 1967: "Smoothing by spline functions",
Numerische Mathematik 10: 177-83.
The "S" term (smoothing factor?) can be set by the user in the
preferences; a lower S-value results in a higher-frequency spline.
S=1 is a linear fit, S=0 fits the data exactly, and S=1e-16 seems
to be a good starting point for dendro datasets.
The original algorithm was written in ALGOL. I do not claim
this is an efficient implementation of it, or that it is correct,
or even that I understand it. I copied the ALGOL into Java, and
twiddled with it until it seemed to work. If there is a newer
algorithm or implementation available, I will be happy to use
it.
- Version:
- $Id: CubicSpline.java,v 1.2 2002/04/29 14:36:30 bitpoet Exp $
- Author:
- Ken Harris
Methods inherited from class corina.index.Index |
addEdit, apply, canRedo, canUndo, die, getChi2, getData, getPresentationName, getR, getRedoPresentationName, getScale, getStart, getTarget, getUndoPresentationName, isSignificant, redo, replaceEdit, run, setProxy, toString, unapply, undo |
CubicSpline
public CubicSpline(Sample s)
- Create a new cubic spline.
- Parameters:
s
- the Sample to index
index
public void index()
- Compute the cubic spline.
- Overrides:
index
in class Index
getName
public String getName()
- The name of this index.
- Overrides:
getName
in class Index
- Returns:
- the name of this index
getID
public int getID()
- Overrides:
getID
in class Index