The short version. To fit an equation you already know, compare OriginPro, GraphPad Prism, CurveExpert Professional, the MATLAB Curve Fitting Toolbox or TableCurve Studio. To search for an equation whose form you do not know, look at PySR, gplearn or TuringBot. The table below gives the approach, platforms and license for each.

Those are two genuinely different jobs, and picking a tool from the wrong group wastes a lot of time.

The two families

Fit a model you choose. You select an equation, or the program tries a fixed built-in library, and least squares optimizes the coefficients. This is what most packages sold as "curve fitting software" do.

Discover the model. The program searches the space of mathematical expressions and returns the equation itself. This is symbolic regression.

Both end with an equation. The difference is who decides what form that equation takes.

Compare approach, platforms and license

ToolApproachPlatformsLicense
TableCurve Studio
successor to TableCurve 2D and 3D
Fits and ranks a library of thousands of built-in equationsWindows 10/11 64-bitCommercial
MATLAB Curve Fitting ToolboxInteractive fitting app, predefined and custom models, confidence intervalsWindows, macOS, LinuxCommercial add-on
CurveExpert ProfessionalBuilt-in model library plus user-defined modelsWindows, LinuxCommercial
OriginProBroad analysis suite with linear, nonlinear, peak and surface fittingWindowsCommercial
GraphPad PrismNonlinear regression aimed at life sciencesWindows, macOSCommercial
FitykPeak fitting and general curve fittingWindows, macOS, LinuxOpen source
SciDAVisPlotting and fitting, similar in scope to OriginWindows, macOS, LinuxOpen source
scipy.optimize.curve_fitLeast squares fit of a function you write yourselfAnywhere Python runsOpen source
gplearnSymbolic regression by genetic programming, scikit-learn APIAnywhere Python runsOpen source
PySRSymbolic regression, Python front end with a Julia engineAnywhere Python and Julia runApache 2.0
TuringBotSymbolic regression in a desktop app, with CLI and Python libraryWindows, macOS, LinuxCommercial, free tier

Platform and license details are as published by each vendor or project. Two things worth knowing before you shortlist: TableCurve 2D's last release under Systat was version 5.0.1 in 2007, and the line is now sold by R2N Software as TableCurve Studio. CurveExpert Professional has been discontinued on macOS by its developer and now ships for Windows and Linux only.

Which one for which job

  • You know the equation and need good parameter estimates. Use a nonlinear least squares tool: scipy.optimize.curve_fit, Prism, Origin, CurveExpert or the MATLAB Curve Fitting Toolbox. They give you standard errors on each parameter, which matters if the parameters themselves are the result you are reporting.
  • You have one input variable and want to try many standard forms quickly. A library fitter like TableCurve 2D or CurveExpert is purpose-built for exactly this.
  • You are fitting spectroscopic or chromatographic peaks. Use software with dedicated peak fitting, such as Fityk or the Peak Analyzer in OriginPro. Deconvolving overlapping peaks is a specialized problem and general tools are not built for it.
  • You want publication graphics in the same tool. Origin and Prism are the standards, and no symbolic regression tool competes with them on plotting.
  • You do not know the structure of the equation, including how several inputs interact. Library fitters will propose and rank models, but only from the equations they ship with. Symbolic regression assembles candidate expressions from the operators you allow, so the form it returns does not have to exist in anyone's library. Use gplearn, PySR or TuringBot.

How the search differs

A library fitter holds a fixed set of equations, fits the coefficients of each one, and ranks the results. A good one holds thousands and ranks them well. The set is still fixed, so if the relationship in your data is not in it, the best you get is the closest member of the library, plus whatever custom equation you write yourself.

Symbolic regression builds candidates from the operators you allow and searches over their structure as well as their coefficients. Nothing has to be pre-enumerated. The cost is that you lose everything the library approach gives you for free: named models, parameter uncertainties, and a ranking you can explain to a reviewer in one sentence.

Both approaches end with an equation. They differ in where the candidate equations come from.

Where TuringBot fits

Choose TuringBot when you need to search for the form of the equation and want a desktop application to do it in. It is on this list because it solves the same user problem, not because it is a curve fitting package in the classical sense: it ships no library of named equations, produces no publication graphics, and reports no confidence intervals on fitted parameters. If those are what you need, one of the tools above is the better purchase.

What it does instead is search for the expression. You load a CSV, pick the column to predict, and it returns the best formula it can find at every level of complexity. Turn on the train and test split, which is off by default, and each of those formulas is also scored on rows held back from the search, so you can see where added complexity stops earning its keep. It runs on Windows, macOS and Linux, has a command line mode and a Python library for automation, and exports results as Python, C, C++ or LaTeX.

Download the free version and run it on your own data. No signup, no credit card. See pricing for the paid licenses.

For a worked example with real numbers, including a case where it recovers a textbook engineering correlation from noisy measurements, see curve fitting software that finds the equation itself. For a direct comparison with the main open source alternative, see TuringBot vs PySR.