class SineModel( NonLinearModel ) | Source |
---|
Sinusoidal Model.
Two variants are implemented.
- By default it is the weighted sum of sine and cosine of the same frequency
f( x:p ) = p1 * cos( 2 * π * p0 * x ) + p2 * sin( 2 * π * p0 * x )
where
p0 = frequency
p1 = amplitude cosine and
p2 = amplitude sine.
As always x = input.
The parameters are initialized at [1.0, 1.0, 1.0]. It is a non-linear model.
- If phase == True, the sinusoidal model has an explicit phase
f( x:p ) = p0 * sin( 2 * π * p1 * x + p2 )
where
p0 = amplitude
p1 = frequency
p2 = phase.
The parameters are initialized as [1.0, 1.0, 0.0].
Examples
sine = SineModel( )
print( sine.npchain )
3 pars = [0.1, 0.0, 1.0] sine.parameters = pars print( sine( numpy.arange( 11, dtype=float ) ) ) # One sine period pars = [0.1, 1.0, 0.0] sine.parameters = pars print( sine( numpy.arange( 11, dtype=float ) ) ) # One cosine period
Attributes
- phase : bool (False)
False : original 2 amplitudes model
True : phase model
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
SineModel( copy=None, phase=False, **kwargs ) |
---|
Sinusiodal model.
Number of parameters is 3.
Parameters
- phase : bool
if True, construct phase variant. - copy : SineModel
model to copy - fixed : dictionary of {int:float}
int list if parameters to fix permanently. Default None.
float list of values for the fixed parameters.
Attribute fixed can only be set in the constructor.
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 result - params : array_like
values for the parameters. - 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 result - params : array_like
values for the parameters.
baseName( ) |
---|
baseParameterUnit( k ) |
---|
Parameters
- k : int
the kth parameter.
phaseResult( xdata, params ) |
---|
Parameters
- xdata : array_like
values at which to calculate the result - params : array_like
values for the parameters.
phasePartial( xdata, params, parlist=None ) |
---|
Parameters
- xdata : array_like
values at which to calculate the result - params : array_like
values for the parameters. - parlist : array_like
list of indices active parameters (or None for all)
phaseDerivative( xdata, params ) |
---|
Parameters
- xdata : array_like
values at which to calculate the result - params : array_like
values for the parameters.
phaseName( ) |
---|
phaseParameterUnit( k ) |
---|
Parameters
- 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 |
---|