2013-10-08 5 views
0

python에서 levenberg-marquadt 루틴에 제약 조건을 추가하는 좋은 방법이 있습니까? 지금까지 대부분Levenberg-Marquardt (제약 조건이있는 Python)

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]이 (가) negativ가됩니다! 어떤 sugestions? 그것은 제약을 지원

http://cars9.uchicago.edu/software/python/lmfit/

그것은 scipy 위에 구축입니다 :

답변

1

당신은이에 대한 lmfit 라이브러리를 사용할 수 있습니다.

관련 문제