Mercurial > emacs
changeset 82262:b54fad5b2bb0
(Curve Fitting): Mention plotting the curves.
(Standard Nonlinear Models): Add additional models.
(Curve fitting details): Mention the Levenberg-Marquardt method.
author | Jay Belanger <jay.p.belanger@gmail.com> |
---|---|
date | Sat, 04 Aug 2007 04:02:28 +0000 |
parents | 7401a1247f6d |
children | 582a8ed39178 |
files | man/calc.texi |
diffstat | 1 files changed, 27 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/man/calc.texi Sat Aug 04 04:00:54 2007 +0000 +++ b/man/calc.texi Sat Aug 04 04:02:28 2007 +0000 @@ -23962,7 +23962,11 @@ to be determined. For a typical set of measured data there will be no single @expr{m} and @expr{b} that exactly fit the data; in this case, Calc chooses values of the parameters that provide the closest -possible fit. +possible fit. The model formula can be entered in various ways after +the key sequence @kbd{a F} is pressed. If the letter @kbd{P} +is pressed after @kbd{a F} but before the model description is entered, +the data as well as the model formula will be plotted after the formula +is determined. @menu * Linear Fits:: @@ -24454,6 +24458,18 @@ Gaussian. @texline @math{{a \over b \sqrt{2 \pi}} \exp\left( -{1 \over 2} \left( x - c \over b \right)^2 \right)}. @infoline @mathit{(a / b sqrt(2 pi)) exp(-0.5*((x-c)/b)^2)}. +@item s +Logistic @emph{s} curve. +@texline @math{a/(1+e^{b(x-c)})}. +@infoline @mathit{a/(1 + exp(b (x - c)))}. +@item b +Logistic bell curve. +@texline @math{ae^{b(x-c)}/(1+e^{b(x-c)})^2}. +@infoline @mathit{a exp(b (x - c))/(1 + exp(b (x - c)))^2}. +@item o +Hubbert linearization. +@texline @math{{y \over x} = a(1-x/b)}. +@infoline @mathit{(y/x) = a (1 - x/b)}. @end table All of these models are used in the usual way; just press the appropriate @@ -24462,8 +24478,9 @@ values of the parameters substituted. (You may find it easier to read the parameter values from the vector that is placed in the trail.) -All models except Gaussian and polynomials can generalize as shown to any -number of independent variables. Also, all the built-in models have an +All models except Gaussian, logistics, Hubbert and polynomials can +generalize as shown to any number of independent variables. Also, all +the built-in models except for the logistic and Hubbert curves have an additive or multiplicative parameter shown as @expr{a} in the above table which can be replaced by zero or one, as appropriate, by typing @kbd{h} before the model key. @@ -24603,7 +24620,7 @@ is @expr{a + b x + c x^2}, then @expr{f(x) = 1}, @expr{g(x) = x}, and @expr{h(x) = x^2} are suitable functions. -For other models, Calc uses a variety of algebraic manipulations +For most other models, Calc uses a variety of algebraic manipulations to try to put the problem into the form @smallexample @@ -24662,7 +24679,12 @@ shows that it's actually similar to the quadratic model but with an exponential that can be brought to the top and moved into @expr{Y}. -An example of a model that cannot be put into general linear +The logistic models cannot be put into general linear form. For these +models, and the Hubbert linearization, Calc computes a rough +approximation for the parameters, then uses the Levenberg-Marquardt +iterative method to refine the approximations. + +Another model that cannot be put into general linear form is a Gaussian with a constant background added on, i.e., @expr{d} + the regular Gaussian formula. If you have a model like this, your best bet is to replace enough of your parameters with