Description Usage Arguments Details Value Author(s) References See Also Examples
Functions nlfb and nlxb return nonlinear least
squares solution objects that include (weighted) residuals.
If weights are present, the returned quantities are the
square roots of the weights times the raw residuals.
1 | res(object)
|
object |
An R object of class |
resgr calls resfn to compute residuals and jacfn to compute the
Jacobian at the parameters prm using external data in the dot arguments.
It then computes the gradient using t(Jacobian) . residuals.
Note that it appears awkward to use this function in calls to optimization routines. The author would like to learn why.
The numeric vector with the gradient of the sum of squares at the paramters.
John C Nash <nashjc@uottawa.ca>
Nash, J. C. (1979, 1990) _Compact Numerical Methods for Computers. Linear Algebra and Function Minimisation._ Adam Hilger./Institute of Physics Publications
Function nls(), packages optim and optimx.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | shobbs.res <- function(x){ # scaled Hobbs weeds problem -- residual
# This variant uses looping
if(length(x) != 3) stop("hobbs.res -- parameter vector n!=3")
y <- c(5.308, 7.24, 9.638, 12.866, 17.069, 23.192, 31.443,
38.558, 50.156, 62.948, 75.995, 91.972)
tt <- 1:12
res <- 100.0*x[1]/(1+x[2]*10.*exp(-0.1*x[3]*tt)) - y
}
shobbs.jac <- function(x) { # scaled Hobbs weeds problem -- Jacobian
jj <- matrix(0.0, 12, 3)
tt <- 1:12
yy <- exp(-0.1*x[3]*tt)
zz <- 100.0/(1+10.*x[2]*yy)
jj[tt,1] <- zz
jj[tt,2] <- -0.1*x[1]*zz*zz*yy
jj[tt,3] <- 0.01*x[1]*zz*zz*yy*x[2]*tt
attr(jj, "gradient") <- jj
jj
}
st <- c(b1=1, b2=1, b3=1)
RG <- resgr(st, shobbs.res, shobbs.jac)
RG
|
[1] -10091.312 7835.327 -8234.159
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.