Non-linear regression with brute force

Adds brute force and multiple starting values to nls.



o algoirthm can be "plinear-brute" or "plinear-random"

o corrected one nls2 example

o trace is now used by nls2 to control printing. Previously it was only used to pass to nls.


o corce formula argument to a formula if its not already a formula


o NAMESPACE file added

o as.lm removed


o as.lm and as.lm.nls can be used to convert an "nls" object to an "lm" object which is tangent to the nls object. Untested.

o as.lm.nls uses proto package hence new dependency

o added algorithm = "random" which samples maxiter rows from start if start is a data frame with more than 2 rows whereas if start is a data frame with exactly 2 rows it will take maxiter random points from the rectangle whose boundary is defined by the rows.

o if nls exits with an error nls2 uses NA as the return value of that nls call instead of stopping with an error


o fixed problem with update not working with objects produced by nls2.

o fixed number of iterations and tolerance displayed when using algorithm = "brute-force".

o if there are exactly two rows in start= then a grid of starting values is formed so that there are at least maxiter points on the grid.

o start can be an nls object in which case coef(nls) is used.


o documentation and DESCRIPTION file tweaks.


o initial release.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.2 by G. Grothendieck, 9 years ago

Report a bug at

Browse source code at

Authors: G. Grothendieck

Documentation:   PDF Manual  

Task views: Optimization and Mathematical Programming

GPL-2 license

Depends on proto

Suggests nlstools

Imported by BAT, beezdemand, epcc, ezmmek, mstherm, rBiasCorrection.

Depended on by PUPAIM.

Suggested by nlraa.

See at CRAN