2013-10-08 54 views
0

有什麼好的方法可以將限制添加到python的levenberg-marquadt例程中?我發現,到目前爲止大多是改變誤差函數爲類似Levenberg-Marquardt in python with constraints

def errorfunction(params, PSD_data, bins): 
if (params[0] < 0) or (params[1] < 0) or (params[2] < 0): 
    return (PSD_data - PSD_fit(params, bins))*1000 
else: 
    return PSD_data - PSD_fit(params, bins) 

但即使如此,有可能得到錯誤的結果,例如。 params [0]是否定的!任何建議?

回答