Public Member Functions | Static Public Member Functions

weibullCore Class Reference

Core for the psychofun Weibull parameterization. More...

#include <core.h>

Inheritance diagram for weibullCore:
PsiCore

List of all members.

Public Member Functions

 weibullCore (const PsiData *data=NULL, const int sigmoid=1, const double alpha=0.1)
 construcor
 weibullCore (const weibullCore &original)
 copy constructor
double g (double x, const std::vector< double > &prm) const
 evaluate the weibull core
double dg (double x, const std::vector< double > &prm, int i) const throw (BadArgumentError)
 evaluate the derivateive of the core
double dgx (double x, const std::vector< double > &prm) const
 evaluate the first derivative of the core with respect to stimulus intensity
double ddg (double x, const std::vector< double > &prm, int i, int j) const throw (BadArgumentError)
 evaluate the 2nd derivative of the core
double inv (double y, const std::vector< double > &prm) const
 invert the core
double dinv (double y, const std::vector< double > &prm, int i) const
 evaluate the derivative of the inverse core with respect to parameter i
std::vector< double > transform (int nprm, double a, double b) const
 transform the parameters from a logistic regression model to starting values
PsiCoreclone (void) const
 clone object by value

Static Public Member Functions

static std::string getDescriptor (void)
 get a short string that identifies the type of core

Detailed Description

Core for the psychofun Weibull parameterization.

The R-package psychofun by Kuss et al (2005, J Vis) uses a slightly different parameterization of the Weibull, that is parameterized in terms of "threshold location m and slope at threshold s". This core should be combined with a PsiGumbelL sigmoid to obtain the Weibull or with a PsiGumbelR sigmoid to obtain the reversed Weibull. However, any other combination is also valid. However, in that case, the parameters m and s might not be as interpretable as they are in case of the weibull.


Constructor & Destructor Documentation

weibullCore::weibullCore ( const PsiData data = NULL,
const int  sigmoid = 1,
const double  alpha = 0.1 
)

construcor

Parameters:
data use a data set to determine the correct scaling factors of initial values and initialize the objec
sigmoid ignored
alpha ignored

Member Function Documentation

double weibullCore::ddg ( double  x,
const std::vector< double > &  prm,
int  i,
int  j 
) const throw (BadArgumentError) [virtual]

evaluate the 2nd derivative of the core

Parameters:
x stimulus intenstiy
prm parameter vector
i first parameter with respect to which the derivative should be taken
j second parameter with respect to which the derivative should be taken

Reimplemented from PsiCore.

double weibullCore::dg ( double  x,
const std::vector< double > &  prm,
int  i 
) const throw (BadArgumentError) [virtual]

evaluate the derivateive of the core

Parameters:
x stimulus intensity
prm parameter vector
i index of the parameter with respect to which the derivative should be evaluated

Reimplemented from PsiCore.

double weibullCore::dgx ( double  x,
const std::vector< double > &  prm 
) const [virtual]

evaluate the first derivative of the core with respect to stimulus intensity

Parameters:
x stimulus intensity
prm parameter vector

Reimplemented from PsiCore.

double weibullCore::dinv ( double  y,
const std::vector< double > &  prm,
int  i 
) const [virtual]

evaluate the derivative of the inverse core with respect to parameter i

Parameters:
y value at which to evaluate the inverse
prm parameter vector
i take the derivative of the inverse core with respect to parameter i

Reimplemented from PsiCore.

double weibullCore::g ( double  x,
const std::vector< double > &  prm 
) const [inline, virtual]

evaluate the weibull core

Parameters:
x stimulus intensity
prm parameter vector (m,s,...)

Reimplemented from PsiCore.

double weibullCore::inv ( double  y,
const std::vector< double > &  prm 
) const [virtual]

invert the core

Parameters:
y value at which to evaluate the inverse
prm parameter vector

Reimplemented from PsiCore.

std::vector< double > weibullCore::transform ( int  nprm,
double  a,
double  b 
) const [virtual]

transform the parameters from a logistic regression model to starting values

Parameters:
nprm number of parameters in the final model
a intercept of the logistic regression model
b slope of the logistic regression model

Reimplemented from PsiCore.


The documentation for this class was generated from the following files: