\HeaderA{SSfpl}{Four-parameter Logistic Model}{SSfpl}
\keyword{models}{SSfpl}
\begin{Description}\relax
This \code{selfStart} model evaluates the four-parameter logistic
function and its gradient.  It has an \code{initial} attribute that
will evaluate initial estimates of the parameters \code{A}, \code{B},
\code{xmid}, and \code{scal} for a given set of data.
\end{Description}
\begin{Usage}
\begin{verbatim}
SSfpl(input, A, B, xmid, scal)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{input}] a numeric vector of values at which to evaluate the model.
\item[\code{A}] a numeric parameter representing the horizontal asymptote on
the left side (very small values of \code{input}).
\item[\code{B}] a numeric parameter representing the horizontal asymptote on
the right side (very large values of \code{input}).
\item[\code{xmid}] a numeric parameter representing the \code{input} value at the
inflection point of the curve.  The value of \code{SSfpl} will be
midway between \code{A} and \code{B} at \code{xmid}.
\item[\code{scal}] a numeric scale parameter on the \code{input} axis.
\end{ldescription}
\end{Arguments}
\begin{Value}
a numeric vector of the same length as \code{input}.  It is the value of
the expression \code{A+(B-A)/(1+exp((xmid-input)/scal))}.  If all of
the arguments \code{A}, \code{B}, \code{xmid}, and \code{scal} are
names of objects, the gradient matrix with respect to these names is
attached as an attribute named \code{gradient}.
\end{Value}
\begin{Author}\relax
Jose Pinheiro and Douglas Bates
\end{Author}
\begin{SeeAlso}\relax
\code{\LinkA{nls}{nls}}, \code{\LinkA{selfStart}{selfStart}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
Chick.1 <- ChickWeight[ChickWeight$Chick == 1, ]
SSfpl( Chick.1$Time, 13, 368, 14, 6 )  # response only
A <- 13; B <- 368; xmid <- 14; scal <- 6
SSfpl( Chick.1$Time, A, B, xmid, scal ) # response and gradient
getInitial(weight ~ SSfpl(Time, A, B, xmid, scal), data = Chick.1)
## Initial values are in fact the converged values
fm1 <- nls(weight ~ SSfpl(Time, A, B, xmid, scal), data = Chick.1)
summary(fm1)

\end{ExampleCode}
\end{Examples}

