2017-04-04 17 views
0

내 각도 데이터 (r/phi)에 보간 곡선을 유지하는 모양을 맞추려고합니다. 그러나 데이터 포인트를 (x/y)로 변환 할 때 x 값을 반복 했으므로 단순히 p 칩 만 사용할 수는 없습니다.각도 데이터 용 pchip

나는 스플라인 보간법을 알고 cscvn과 fnplt가 있으며 pchip과 비슷한 것이 있습니까?

"스플라인"에 대한 MATLAB 문서에서 스플라인 피팅 각도 데이터에 대한 예가 있지만, pchip 및 다른 데이터 포인트에 적용 할 수있는 방법을 알지 못합니다.

나는 또한 John d' Errico의 interparc-function을 발견했으나 똑같이 간격을 두지 않고 데이터 포인트를 유지하려고합니다.

here은 선형 (파란색) 및 스플라인 보간 (검은 색)이 포함 된 내 데이터 점의 그림입니다. 선형 케이스에서는 가파른 모서리가 아닌 스플라인 케이스에 비해 오버 슛이 적습니다.

도움을 주셔서 감사합니다.

답변

0

사용 1D 파라 메트릭 보간 :

n = 20; 
r = 1 + rand(n-1,1)*0.01;%noisy r's 
theta = sort(2*pi*rand(n-1,1)); 
% closing the circle 
r(end+1) = r(1); 
theta(end+1) = theta(1); 
% convert to cartesian 
[x,y] = pol2cart(theta,r); 
% interpolate with parameter t 
t = (1:n)'; 
v = [x,y]; 
tt = linspace(1,n,100); 
X = interp1(t,v,tt,'pchip'); 
% plot 
plot(x,y,'o'); 
hold on 
plot(X(:,1),X(:,2)); 

enter image description here

+0

완벽한, 덕분에 많이! –