class SineSplineDriftModel( NonLinearModel ) | Source |
---|
Sine with drifting frequency and splineslike amplitudes/phases.
nd = degree + 1
nh = len( knots ) + order - 1
xx = 2 π x PM( x:p[:nd] )
A = SM( x:p[nd:nd+nh] )
B = SM( x:p[nd+nh:] )
f( x:p ) = A cos( xx ) + B sin( xx )
Where PM is a PolynomialModel and SM a SplinesModel
It is a linear model with 2 * ( len(knots) + order - 1 ) papameters.
Examples
knots = [3.0*k for k in range( 11 )]
sine = SineSplineDriftModel( 150, knots ) # fixed frequency of 150 Hz
print( sine.npbase ) # number of parameters
26
Attributes
- degree : int
degree of the polynomial governing the frequency of the sine - knots : array_like
positions of the spline knots - order : int
order of the spline. default: 3 - cm : SplinesModel
amplitude of the cosine - sm : SplinesModel
amplitude of the sine
Attributes from Model
npchain, parameters, stdevs, xUnit, yUnit
Attributes from FixedModel
npmax, fixed, parlist, mlist
Attributes from BaseModel
npbase, ndim, priors, posIndex, nonZero, tiny, deltaP, parNames
SineSplineDriftModel( knots, order=3, degree=1, copy=None, fixed=None, **kwargs ) |
---|
Sine model of a polynomially drifting frequency with a splineslike changing amplitude/phase
Number of parameters is 2 * ( len(knots) + order - 1 ) + degree + 1.
Parameters
- knots : array of float
the knot positions of the amplitude splines - order : int
order of the splines - degree : int
degree of the drifting polynomial - copy : SineSplineDriftModel
model to be copied - fixed : dict
If not None raise AttributeError.
Raises
- AttributeError : When fixed is not None
copy( ) |
---|
baseResult( xdata, params ) |
---|
Parameters
- xdata : array_like
values at which to calculate the result - params : array_like
values for the parameters.
basePartial( xdata, params, parlist=None ) |
---|
Parameters
- xdata : array_like
values at which to calculate the partials - params : array_like
parameters of the model (ignored in LinearModels) - parlist : array_like
list of indices active parameters (or None for all)
baseDerivative( xdata, params ) |
---|
Parameters
- xdata : array_like
values at which to calculate the partials - params : array_like
parameters of the model
getAmplitudes( xdata, params ) |
---|
Parameters
- xdata : array_like
values at which to calculate the partials - params : array_like
parameters of the model
baseName( ) |
---|
baseParameterUnit( k ) |
---|
- k : int
the kth parameter.
Methods inherited from NonLinearModel |
---|
Methods inherited from Model |
---|
- chainLength( )
- isNullModel( )
- isolateModel( k )
- addModel( model )
- subtractModel( model )
- multiplyModel( model )
- divideModel( model )
- pipeModel( model )
- appendModel( model, operation )
- correctParameters( params )
- result( xdata, param=None )
- operate( res, pars, next )
- derivative( xdata, param, useNum=False )
- selectPipe( ndim, ninter, ndout )
- pipe_0( dGd, dHdG )
- pipe_1( dGd, dHdG )
- pipe_2( dGd, dHdG )
- pipe_3( dGd, dHdG )
- pipe_4( dGdx, dHdG )
- pipe_5( dGdx, dHdG )
- pipe_6( dGdx, dHdG )
- pipe_7( dGdx, dHdG )
- pipe_8( dGdx, dHdG )
- pipe_9( dGdx, dHdG )
- shortName( )
- getNumberOfParameters( )
- numDerivative( xdata, param )
- numPartial( xdata, param )
- isDynamic( )
- hasPriors( isBound=True )
- getPrior( kpar )
- setPrior( kpar, prior=None, **kwargs )
- getParameterName( kpar )
- getParameterUnit( kpar )
- getIntegralUnit( )
- setLimits( lowLimits=None, highLimits=None )
- getLimits( )
- hasLimits( fitindex=None )
- unit2Domain( uvalue, kpar=None )
- domain2Unit( dvalue, kpar=None )
- partialDomain2Unit( dvalue )
- nextPrior( )
- getLinearIndex( )
- testPartial( xdata, params, silent=True )
- strictNumericPartial( xdata, params, parlist=None )
- assignDF1( partial, i, dpi )
- assignDF2( partial, i, dpi )
- strictNumericDerivative( xdata, param )
Methods inherited from FixedModel |
---|
Methods inherited from BaseModel |
---|