https://github.com/cran/pracma
Tip revision: 26e049d70b4a1c237987e260cba68f6a9413736c authored by Hans W. Borchers on 09 April 2019, 04:10:07 UTC
version 2.2.5
version 2.2.5
Tip revision: 26e049d
grad.Rd
\name{grad}
\alias{grad}
\title{
Numerical Gradient
}
\description{
Numerical function gradient.
}
\usage{
grad(f, x0, heps = .Machine$double.eps^(1/3), ...)
}
\arguments{
\item{f}{function of several variables.}
\item{x0}{point where the gradient is to build.}
\item{heps}{step size.}
\item{...}{more variables to be passed to function \code{f}.}
}
\details{
Computes the gradient
\deqn{(\frac{\partial f}{\partial x_1}, \ldots, \frac{\partial f}{\partial x_n})}
numerically using the ``central difference formula''.
}
\value{
Vector of the same length as \code{x0}.
}
\references{
Mathews, J. H., and K. D. Fink (1999). Numerical Methods Using Matlab.
Third Edition, Prentice Hall.
}
\seealso{
\code{\link{fderiv}}
}
\examples{
f <- function(u) {
x <- u[1]; y <- u[2]; z <- u[3]
return(x^3 + y^2 + z^2 +12*x*y + 2*z)
}
x0 <- c(1,1,1)
grad(f, x0) # 15 14 4 # direction of steepest descent
sum(grad(f, x0) * c(1, -1, 0)) # 1 , directional derivative
f <- function(x) x[1]^2 + x[2]^2
grad(f, c(0,0)) # 0 0 , i.e. a local optimum
}
\keyword{ math }