The MGH10
data frame has 16 rows and 2 columns.
This data frame contains the following columns:
A numeric vector of response values.
A numeric vector of input values.
This problem was found to be difficult for some very good algorithms.
See More, J. J., Garbow, B. S., and Hillstrom, K. E. (1981). Testing unconstrained optimization software. ACM Transactions on Mathematical Software. 7(1): pp. 1741.
Meyer, R. R. (1970). Theoretical and computational aspects of nonlinear regression. In Nonlinear Programming, Rosen, Mangasarian and Ritter (Eds). New York, NY: Academic Press, pp. 465486.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  Try < function(expr) if (!inherits(val < try(expr), "tryerror")) val
plot(y ~ x, data = MGH10)
## check plot on log scale for shape
plot(y ~ x, data = MGH10, log = "y")
## starting values for this run are ridiculous
Try(fm1 < nls(y ~ b1 * exp(b2/(x+b3)), data = MGH10, trace = TRUE,
start = c(b1 = 2, b2 = 400000, b3 = 25000)))
Try(fm1a < nls(y ~ b1 * exp(b2/(x+b3)), data = MGH10,
trace = TRUE, alg = "port",
start = c(b1 = 2, b2 = 400000, b3 = 25000)))
Try(fm2 < nls(y ~ b1 * exp(b2/(x+b3)), data = MGH10, trace = TRUE,
start = c(b1 = 0.02, b2 = 4000, b3 = 250)))
Try(fm2a < nls(y ~ b1 * exp(b2/(x+b3)), data = MGH10,
trace = TRUE, alg = "port",
start = c(b1 = 0.02, b2 = 4000, b3 = 250)))
Try(fm3 < nls(y ~ exp(b2/(x+b3)), data = MGH10, trace = TRUE,
start = c(b2 = 400000, b3 = 25000),
algorithm = "plinear"))
Try(fm4 < nls(y ~ exp(b2/(x+b3)), data = MGH10, trace = TRUE,
start = c(b2 = 4000, b3 = 250),
algorithm = "plinear"))

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.