def execute(self, *options, **kwoptions): self._fit = Fit(self._model, self.parent.x, self.parent.y) self.result = self._fit.execute(*options, **kwoptions)
argument_dict['x'] = x argument_dict['x0'] = x0 argument_dict['k'] = k if hasattr(args, 'n'): n = Parameter(value=args.n, min=0, max=args.n * 2, fixed=True) argument_dict['n'] = n model = harmonic_distribution(**argument_dict) #fit = fitter.InteractiveFit2D(model, xs, ys) guess = symfit.contrib.interactive_guess.interactive_guess.InteractiveGuess2D( model, xs, ys) #fit.visual_guess(1000) #result = fit.execute(maxfev=1000) result = guess.execute() fit = Fit(model, xs, ys) result = fit.execute() print(result) plt.scatter(xs, ys, color='b') plt.plot(xs, model(x=xs, **result.params), color='r') plt.show() # #angs = np.array(range(-180, 181), dtype=np.float64) #probs = model(th=angs, **result.params) # #potentials = -kb*T*np.log(probs) #print(potentials) # #potentials[potentials == np.inf] = 50