# add constrain condition
def params_constraint(init_params,lb,ub,varies):
params_second_step = Parameters()
# params_second_step.add('a', value = init_params['a'], min=lb['a'], max=ub['a'],vary=varies['a'])
params_second_step.add('b', value = init_params['b'], min=lb['b'], max=ub['b'], vary=varies['b'])
params_second_step.add('c', value = init_params['c'], min=lb['c'], max=ub['c'], vary=varies['c'])
params_second_step.add('d', value = init_params['d'], min=lb['d'], max=ub['d'], vary=varies['d'])
params_second_step.add('theta', value = init_params['theta'], min=lb['theta'], max=ub['theta'], vary=varies['theta'])
params_second_step.add('tb', value = init_params['tb'], min=lb['tb'], max=ub['tb'], vary=varies['tb'])
params_second_step.add('a', value = init_params['a'], min=lb['a'], max=ub['a'],vary=varies['a'],expr = '(tb-(b*pow(sin(c*theta),2)+pow(cos(c*theta),2))*d)/pow(theta,2)')
# params_second_step.add('descr', value = 0, vary=False, expr = ('a*pow(theta,2)+(b*pow(sin(c*theta),2)+pow(cos(c*theta),2))*d-tb'))
return params_second_step
I tried to set constraint parameter 'a' with regression equation and set a parameter 'descr' as fix value, but in some points, the constraint seems can't work.
Any help is very appreciated!
Best
Peng