큰 2 차원 배열의 'x'값을 계산할 때 너무 많은 시간이 걸리는 1 차원 함수가 있으므로 SciPy를 사용하여 보간 함수를 만드는 것이 훨씬 쉽습니다. 그런 다음이를 사용하여 y를 계산하면 훨씬 빠릅니다. 그러나 1-D가 넘는 배열에서는 보간 함수를 사용할 수 없습니다.2 차원 배열을 통한 보간 함수 사용
예 :
# First, I create the interpolation function in the domain I want to work
x = np.arange(1, 100, 0.1)
f = exp(x) # a complicated function
f_int = sp.interpolate.InterpolatedUnivariateSpline(x, f, k=2)
# Now, in the code I do that
x = [[13, ..., 1], [99, ..., 45], [33, ..., 98] ..., [15, ..., 65]]
y = f_int(x)
# Which I want that it returns y = [[f_int(13), ..., f_int(1)], ..., [f_int(15), ..., f_int(65)]]
그러나 반환 :
ValueError: object too deep for desired array
는 내가 모든 X 회원 돌이 할 수 알지만, 그것은 더 나은 옵션 인 경우 몰라요 ...
감사합니다.
편집 :
가장자리 주위에 이상하게 보일 수 있습니다. – reptilicus
@reptilicus 왜? 당신이 무엇을 의미하는지 이해하지 못하는 것 같아요. 미안합니다 ... – Jaime
보간법은 원래의 배열의 가장자리에있는 값을 다른 것으로 바꾸고, 배열을 평평하게 한 다음 보간 한 후 다시 모양을 바꾼다 고 생각했습니다. 기본적으로 원래 배열의 왼쪽 가장자리는 문제를 일으킬 수도 있고 그렇지 않을 수도있는 다음 행의 오른쪽 가장자리로 보간됩니다. – reptilicus