Aliases: nlm
### ** Examples f <- function(x) sum((x-1:length(x))^2) nlm(f, c(10,10))
$minimum [1] 4.303458e-26 $estimate [1] 1 2 $gradient [1] 2.757794e-13 -3.099743e-13 $code [1] 1 $iterations [1] 2
nlm(f, c(10,10), print.level = 2)
iteration = 0 Step: [1] 0 0 Parameter: [1] 10 10 Function Value [1] 145 Gradient: [1] 18.00001 16.00001 iteration = 1 Step: [1] -9 -8 Parameter: [1] 1 2 Function Value [1] 1.721748e-13 Gradient: [1] 1.551336e-06 1.379735e-06 iteration = 2 Parameter: [1] 1 2 Function Value [1] 4.303458e-26 Gradient: [1] 2.757794e-13 -3.099743e-13 Relative gradient close to zero. Current iterate is probably solution.
$minimum [1] 4.303458e-26 $estimate [1] 1 2 $gradient [1] 2.757794e-13 -3.099743e-13 $code [1] 1 $iterations [1] 2
utils::str(nlm(f, c(5), hessian = TRUE))
List of 6 $ minimum : num 2.44e-24 $ estimate : num 1 $ gradient : num 1e-06 $ hessian : num [1, 1] 2 $ code : int 1 $ iterations: int 1
f <- function(x, a) sum((x-a)^2) nlm(f, c(10,10), a = c(3,5))
$minimum [1] 3.371781e-25 $estimate [1] 3 5 $gradient [1] 6.750156e-13 -9.450218e-13 $code [1] 1 $iterations [1] 2
f <- function(x, a) { res <- sum((x-a)^2) attr(res, "gradient") <- 2*(x-a) res } nlm(f, c(10,10), a = c(3,5))
$minimum [1] 0 $estimate [1] 3 5 $gradient [1] 0 0 $code [1] 1 $iterations [1] 1
## more examples, including the use of derivatives. ## Not run: demo(nlm)