2017-05-09 3 views
1


동일한 x 값과 같은 지수 법칙을 기반으로하는 일련의 y를 고려한 커브 적합성을 얻으려고합니다. 시리즈 중 y 값은 실험적이기 때문에 약간 변하지 만 여전히 닫혀 있습니다 (같은 x에서).

나는 두 배열 구축하려고 : 예Scipy curve_fit 여러 데이터 계열

def f(x,a,b,c): 
    return a*numpy.exp(-b*x)+c 
xdata=numpy.array([data['x'],data['x']]) 
ydata = numpy.array([data['y1'], data['y2']]) 
popt, pcov=curve_fit(f,xdata,ydata) 

의 두 개의 서로 다른 시리즈와 X와 하나 하나를하지만이 오류가 나타납니다

TypeError: Improper input: N=3 must not exceed M=2 

사람이 오류를 해결하는 방법을 알고 있나요

또는 이런 종류의 커브 피팅을 수행하는 적절한 방법?
감사합니다.

+0

http://stackoverflow.com/questions/20769340/fitting-multivariate-curve-fit-in-python을보세요 – user8153

답변

1

다차원 배열을 만드는 대신 데이터를 올바르게 concatenate해야합니다. 이 data의 참조 요소는 모든 1D를 알고 있다고 가정

xdata = np.concatenate((data['x'], data['x'])) 
ydata = np.concatenate((data['y1'], data['y2'])) 
popt, pcov = curve_fit(f, xdata, ydata) 

: 데이터가 x으로 분류되어야한다고 curve_fit에 아무것도 없다.

+0

고마워요! 나는 Matlab 커브 피팅 도구에 너무 익숙했습니다. –

+0

이 방법이 효과가 있으면이 대답을 선택해야합니다. 감사를 표시하는 적절한 방법은 그렇게하는 명성이있을 때 upvote하는 것입니다. –