2014-02-12 2 views
0

f (X) = 2 * X 과 같은 간단한 수학 함수를 만들면 scipy.interpolate를 사용하여 - 어떻게하면 X 좌표를 얻을 수 있습니까? 해당 Y 좌표?Scipy 수학 함수에서 X-oder Y 좌표를 얻는 방법

from scipy import interpolate 
testfunc = scipy.interpolate.interp1d([1,2], [2,4], kind='linear') 

I (2이어야한다) Y = (4)에 속한 X 값을 얻으려면 : 여기

는 scipy 기능이다. 나는 시도했다 : 나는 여기에 포인트를 누락 될 수 있습니다

testfunc.x(4) 
+1

저는 - 당신은 이미 가지고 있고 선형이기 때문에 단순히 f_inv = x/2를가집니다. ... 왜 testfunc 대신 이걸 가져와야합니까? – wim

+0

@wim +1. 아마 당신은 더 사소한 문제에 대해 생각하고있을 것이라고 생각하지만, 당신이 지금 그것을 설명했던 방식은 조금 혼란 스럽습니다. –

답변

-1

그러나, 당신은 scipy.interpolate.interp1d 예를 따른다면 당신은 같은 길이의 두 NumPy와 배열로 끝날 것입니다. x 배열에 대해 y 배열을 인덱싱하고 대답을 얻을 수 있어야합니다. 이 접근 방식을 '파이썬'이라고 생각할지 모르지만이 경우에는 작동합니다.

0

그냥 역 보간을 수행하면 되나요?

x,y = ... 
testfunc_inverse = scipy.interpolate.interp1d(y, x, kind='linear') 
testfunc_inverse(4)