diff options
author | Jay Belanger <jay.p.belanger@gmail.com> | 2007-08-04 04:03:50 +0000 |
---|---|---|
committer | Jay Belanger <jay.p.belanger@gmail.com> | 2007-08-04 04:03:50 +0000 |
commit | de6a5d7ba9b76912bbc4a3faddd59ecbe903a923 (patch) | |
tree | e3ed4f1ad93ddc5a7f54b97d1588ea660c4d3504 /man/calc.texi | |
parent | 8ab437fd8ad9a1a50d5b7358ec5b67095228f497 (diff) | |
download | emacs-de6a5d7ba9b76912bbc4a3faddd59ecbe903a923.tar.gz |
(Curve Fitting): Mention plotting the curves.
(Standard Nonlinear Models): Add additional models.
(Curve fitting details): Mention the Levenberg-Marquardt method.
Diffstat (limited to 'man/calc.texi')
-rw-r--r-- | man/calc.texi | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/man/calc.texi b/man/calc.texi index 9e50629a3b2..95737d6106a 100644 --- a/man/calc.texi +++ b/man/calc.texi @@ -23962,7 +23962,11 @@ such as @expr{y = m x + b} where @expr{m} and @expr{b} are parameters 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 @@ Quadratic. @mathit{a + b (x-c)^2 + d (x-e)^2}. 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 @@ result will be a formula as shown in the above table, with the best-fit 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 @@ to convert the model into this form. For example, if the model 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 @@ The Gaussian model looks quite complicated, but a closer examination 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 |