2009-08-26 7 views
1

scipy에서 interpolate.splrep 및 interpolate.splev 함수를 사용하여 데이터 세트를 보간합니다. 당연히 데이터 세트의 가장자리 근처에서 보간 된 값을 얻으려고하면이 작업이 잘 수행되지 않습니다.데이터 세트의 끝점에서 데이터 포인트의 보간

데이터 세트의 마지막 "일반"항목과 동일한 값을 갖는 두 개의 추가 항목으로 데이터 세트를 확장했는데 작동하는 것으로 보이지만 문제가 해결되지 않을지 궁금합니다. 다른 보간 함수를 사용하거나,이를 처리 할 공통적 인 방법이있는 경우.

미리 감사드립니다.

답변

0

나는하지만 회로 scipy와 familliar 모르겠지만, 아마도 이것이 도움이 될 :

나는 가정

는, 이러한 다항식 스플라인 함수이다, 그러므로 당신은 실제로 실제 polynomes와 가장자리 근처에 데이터 집합을 보간 할 수 있습니다. 쉽습니다.

우리는 (xi, yi), i = 1..n과 같은 점의 데이터 세트를 가지고 있다고 가정 해 봅시다. splerp 함수에서 점 '2'(df_second ')와'n-1 '(df_before_last)에서 1 차 미분 (유한 차분이 실제로 수행됩니다.)을 찾을 수 있습니다. 그런 다음 우리는 선형 방정식의 두 개의 시스템이 필요합니다

a1*x1^2 + b1*x1 + c1 = y1 
a1*x2^2 + b1*x2 + c1 = y2 
2*a1*x2 + b1 = df_second 

a2*xn^2 + b2*xn + c2 = yn 
a2*x(n-1)^2 + b2*x(n-1) + c2 = y(n-1) 
2*a2*x(n-1) + b2 = df_before_last 

이이 두 polymones를 얻을 수 있습니다 방정식 해결 : A1 * X^2 + B1 * X + (C1) 및 A2 * X^2 + b2 * x + c2가 삽입되어 스플라인 함수로 부드럽게 액세스됩니다.

사실, 시스템에 추가 방정식을 넣음으로써 다항식 차수를 높이고 처음과 마지막 점에서 보간 그래픽의 곡률과 각도를 설정할 수 있습니다.

관련 문제