text: Symbolic Fitting; fitting as it should be.
  Project description
  Please cite this DOI if symfit benefited your publication. Building this has been a lot of work, and as young researchers your citation means a lot to us. Martin Roelfs & Peter C Kroon, symfit. doi:10.5281/zenodo.1133336
  Documentation
  Project Goals
  The goal of this project is simple: to make fitting in Python pythonic. What does pythonic fitting look like? Well, there’s a simple test. If I can give you pieces of example code and don’t have to use any additional words to explain what it does, it’s pythonic.
  from symfit import parameters, variables, Fit, Model import numpy as np xdata = np.array([1.0, 2.0, 3.0, 4.0, 5.0]) ydata = np.array([2.3, 3.3, 4.1, 5.5, 6.7]) yerr = np.array([0.1, 0.1, 0.1, 0.1, 0.1]) a, b = parameters('a, b') x, y = variables('x, y') model = Model({y: a * x + b}) fit = Fit(model, x=xdata, y=ydata, sigma_y=yerr) fit_result = fit.execute()
  Cool right? So now that we have done a fit, how do we use the results?
  import matplotlib.pyplot as plt yfit = model(x=xdata, **fit_result.params)[y] plt.plot(xdata, yfit) plt.show()
  Need I say more? How about I let another code example do the talking?
  from symfit import parameters, Fit, Equality, GreaterThan x, y = parameters('x, y') model = 2 * x * y + 2 * x - x**2 - 2 * y**2 constraints = [ Equality(x**3, y), GreaterThan(y, 1), ] fit = Fit(- model, constraints=constraints) fit_result = fit.execute()
  I know what you are thinking. “What if I need to fit to a system of Ordinary Differential Equations?”
  from symfit import variables, Parameter, ODEModel, Fit, D import numpy as np tdata = np.array([10, 26, 44, 70, 120]) adata = 10e-4 * np.array([44, 34, 27, 20, 14]) a, b, t = variables('a, b, t') k = Parameter('k', 0.1) model_dict = { D(a, t): - k * a**2, D(b, t): k * a**2, } ode_model = ODEModel(model_dict, initial={t: 0.0, a: 54 * 10e-4, b: 0.0}) fit = Fit(ode_model, t=tdata, a=adata, b=None) fit_result = fit.execute()
  For more fitting delight, check the docs at.
  Project details
  Release history Release notifications | RSS feed
  Download files
  Download the file for your platform. If you're not sure which to choose, learn more about installing packages.