예제 #1
0
 def show_progress(self, history):
     scale, err = nllf_scale(self.problem)
     chisq = format_uncertainty(scale * history.value[0], err)
     self.status_text.value = '<table width="50%%"><tr><td>step</td><td>%s</td><td>cost</td><td>%s</td></tr></table>' % (
         history.step[0], chisq)
     self.steps.append(history.step[0])
     self.chis.append(scale * history.value[0])
예제 #2
0
 def show_progress(self, history):
     scale, err = nllf_scale(self.problem)
     chisq = format_uncertainty(scale * history.value[0], err)
     self.ptxt.SetLabel('step: %s/%s\tcost: %s' %
                        (history.step[0], self.pbar.GetRange(), chisq))
     self.pbar.SetValue(history.step[0])
     self.steps.append(history.step[0])
     self.chis.append(scale * history.value[0])
예제 #3
0
    Mq.A0.range(0, 0.05)
    Mq.A1.range(0, 1)
    Mq.hwhm1.range(0, 0.5)
    Mq.hwhm2.range(0, 3)

    # Q-independent parameters
    if i == 0:
        QA0 = Mq.A0
    else:
        Mq.A0 = QA0

    M.append(Mq)

problem = bmp.FitProblem(M)

# Preview of the settings
print('Initial chisq', problem.chisq_str())

problem.plot()

result = fit(problem, method='lm', steps=100, verbose=True)

problem.plot()

# Print chi**2 and parameters' values after fit
print("final chisq", problem.chisq_str())
for k, v, dv in zip(problem.labels(), result.x, result.dx):
    print(k, ":", format_uncertainty(v, dv))

plt.show()
    Mq.A0.range(0, 1)
    Mq.hwhm.range(0, 2)

    # Q-independent parameters
    if i == 0:
        QA0 = Mq.A0
    else:
        Mq.A0 = QA0
    M.append(Mq)

problem = bmp.FitProblem(M)

# Preview of the settings
print('Initial chisq', problem.chisq_str())

problem.plot()

result = fit(problem, method='lm', steps=100, verbose=True)

problem.plot()

# Print chi**2 and parameters' values after fit
print("final chisq", problem.chisq_str())
for k, v, dv in zip(problem.labels(), result.x, result.dx):
    if k in dict_physical_units.keys():
        print(k, ":", format_uncertainty(v, dv), dict_physical_units[k])
    else:
        print(k, ":", format_uncertainty(v, dv))

plt.show()