TABLE OF CONTENTS
- 1. /spline
- 1.1. spline/compareSize
- 1.2. spline/Bsplint2
- 1.2.1. Bsplint2/FindT
/spline [ Modules ]
NAME
module spline
PURPOSE
Includes routines for x-y -- cubic B-splines (i.e. the curve is 'smoother' than the data points).
spline/compareSize [ Functions ]
[ Top ] [ spline ] [ Functions ]
NAME
logical function compareSize(x,y,z)
PURPOSE
check whether all three arrays have the same boundaries
spline/Bsplint2 [ Subroutines ]
[ Top ] [ spline ] [ Subroutines ]
NAME
subroutine Bsplint2(XA,YA,X,Y, Ind,Pref,SkipCalc)
PURPOSE
Returns an interpolated value for the data set (xa,ya) at position x.
Interpolation is done via cubic B-splines.
INPUTS
- real, intent(in) :: XA(:),YA(:) -- data set
- real, intent(in) :: Y2A(:) -- Derivative at data set points
- real, intent(in) :: x -- value where spline shall be evaluated
- logical, intent(in) :: SkipCalc -- if true then use given Ind and Pref values [OPTIONAL]
RESULT
- real, intent(out):: y -- y value of spline at x
- integer, intent(inout):: Ind(-1:2) -- indizes of values [OPTIONAL]
- real, intent(inout):: Pref(-1:2) -- pre factors of values [OPTIONAL]
NOTES
This "subroutine" should be a "function" !
No init as for "splint2" is necessary.
Bsplint2/FindT [ Subroutines ]
[ Top ] [ Bsplint2 ] [ Subroutines ]
NAME
subroutine FindT(x,a2,a1,a0,t)
PURPOSE
Solve[t^3 + a2 t^2 + a1 t + a0 == 0, t] with the constraint 0 <= t <= 1