CurvFit (tm) is a **nonlinear curve fitting** program. Sine, damped Sine, Lorentz, Modified Lorentz, Power (ie Polynomial) and Exponential series are presently available models to match your data. We strongly suggest trying a Lorentz series for data with multiple peaks or valleys. A calculator exists for interpolation &/or extrapolation of given data. CurvFit has proven excellent for hard to fit data. Hard to fit data may take more time -but- it can be done given the right series and parameter values. For start try curve fitting your data with a Lorentz series!

A Lorentz function equals 1 / (1 + a x^{2}). This is a shortened form of the infinite series inverse (1 + Σ a_{i} x^{2i}). For practical purposes the shortened Lorentz function is accurate enough. The Lorentz function equals the derivative of the arctangent.

A Modified Lorentz function equals (1 + x) / (1 + a x^{2}) = (1 + x) * Lorentz function! Use the modified Lorentz when minimizing number of terms in your curve fit series. (Someone suggested that the modified Lorentz is a Bessel function, is it?)

Fitting Sinusoidal data is simplified by finding good initial starting values for given sinusoidal data. In order to do this try our SpectrumSolvers program using a simple spectral estimator (e.g. AutoCorr). A good estimator will calculate key frequencies. Use these key frequency values as initial starting values in CurvFit. Without these good initial frequencies values Curve fitting sinusoidal data can be tough.

Curve fitting is an **Inverse Problem** in some cases. For example, you might have some Ordinary Differential Equations (ODEs) where you know the solution data points but question some parameters in the ODEs. The target would be your data points and parameter values would be what you are trying to determine. Another example would be determining a electrical circuit parameters when you know the (target) circuit response desired. Curve fit data to model is quick and easy in a Calculus (level) programming language. There are many industry Inverse Problems that exist but are not classified as such.

CurvFit is a increased productivity example do to using Calculus programming ... ie. minutes to solve, days or years to understand solution and what it implies (e.g. wrong model, sampling rate error, etc.). CurvFit helps one learn ...

- Whether math model is good for given data;
- Convergence report tells whether a reasonable
solution; and,
- How to select new starting initial parameter
values, model, sampling rate error, etc.)