aptknt
허용되는 매듭 시퀀스
구문
knots = aptknt(tau,k)
[knots,k] = aptknt(tau,k)
설명
knots = aptknt(tau,k)
는 tau
가 k
개 이상의 요소를 갖고, 감소하지 않으며, 모든 i
에 대해 tau(i)
<tau(i+k-1)
을 충족하는 경우 데이터 지점 tau
에서 위수가 k인 스플라인 보간에 적합한 매듭 시퀀스를 반환합니다. 이 경우 위수가 k
이고 매듭 시퀀스 knots
를 가지면서 해당 지점에서 주어진 값과 일치하는 스플라인은 정확히 1개 존재합니다. 그 이유는 반환된 시퀀스 knots
가 다음과 같은 Schoenberg-Whitney 조건을 충족하기 때문입니다.
knots(i) < tau(i) < knots(i+k), i=1:length(tau)
여기서 등식은 양 끝 매듭에서만 성립하며, 각각은 정확한 중복도 k
를 갖습니다.
tau
의 요소가 k
개 미만인 경우 k
는 값 length(tau)
로 축소됩니다. tau
가 감소하거나 tau(i)
가 임의의 i
에 대해 tau(i+k-1)
과 같을 경우 오류가 발생합니다.
[knots,k] = aptknt(tau,k)
는 사용된 실제 k
도 반환합니다(이는 입력값 k
와 length(tau)
중에서 작은 값과 동일합니다).
예제
tau
가 균일한 간격을 갖고(예: 임의의 n
>=4에 대해 linspace(a,b,n)
) y
가 tau
와 동일한 크기의 시퀀스인 경우 sp = spapi(aptknt(tau,4),tau,y)
는 not-a-knot 끝점 조건을 갖는 3차 스플라인 보간을 제공합니다. 이는 spline(tau,y)
로 생성되는 3차 스플라인과 동일하나, ppform이 아닌 B-form 형식입니다.
주의
tau
가 매우 비균일한 경우 지점 tau
에서 데이터에 대한 보간을 위해 결과 매듭 시퀀스를 사용하면 만족스럽지 않은 결과가 나올 수 있습니다.
알고리즘
aveknt(tau,k)
로 제공되는, 시퀀스 tau
의 (k-1)
점 평균 sum(tau(i+1:i+k-1))/(k-1)
은 k
겹 tau(1)
과 k
겹 tau(end)
에 의해 확장됩니다. 즉, 이 명령은 tau
의 요소가 k
개 이상이고 k
가 1보다 큰 경우 augknt([tau(1),aveknt(tau,k),tau(end)],k)
와 동일한 결과를 제공합니다.