2009-06-16 4 views
1

나는 한 지점에서 때때로 구별 할 수없는 기능을 가지고있다. 보간을 위해 스플라인 (내림차순으로 베 지어 스플라인)을 사용하면이 시점에서 보간이 예상대로 작동하지 않습니다 (이 시점에서 내 함수에 꼬임이 있음). 이제는 스플라인으로 보간 할 때이 지점 주위에 어떤 종류의 루프를 그립니다. 이것은 스플라인이이 시점에서 고유하지 않은 함수의 파생물을 필요로하기 때문에 발생한다고 생각합니다.비 차별화 기능을위한 스플라인?

맞습니까? 이 사건에서 내가 뭐라고 조언 해 주겠어? 사전에

감사

세바스찬 바로 소리

답변

1

"찰칵"의 그라디언트를 계산할 수 없습니다 (너무 웅장하게 넣으십시오). 그러한 점 (x)에 그라데이션이 정말로 필요한 경우, 나는 (x-d)와 (x + d)에 그라디언트의 평균을 구할 것입니다. 여기서 d는 작은 델타입니다. 그것은 당신이 얻을 가능성이 다른 어떤 하나의 대답처럼 수학적으로 유효합니다. 예를 들어

함수 :

f(x) = |x| 

생산할 것이다 원점 (0,0)에는 경사가없는

\ | /
\ |/
    \ |/
    \|/ 
----+---- 

. 그러나 -0.0001 (그래디언트 = -1) 및 +0.0001 (그래디언트 = +1)의 그래디언트 평균은 0의 그래디언트를 제공합니다 (평행선).

이것은 (x-d)와 (x + d)에서 비대칭 그래디언트를 생성하는 다른 방정식에도 절반의 답변을 제공해야합니다.

MIT에서 라이선스가 있기 때문에, Bezierspline에 대해 +/- 델타 방법을 사용하여 비 연속 지점의 그래디언트를 계산할 수 있도록 소스를 수정해야합니다. 가치있는 추가라고 생각한다면 소스 변경 사항을 개발자에게 되돌릴 수도 있습니다.

+0

네, 죄송합니다. 그 사실에 대해 나는 좋은 말을하지 못했습니다. 이것은 확실한 가능성이 있지만 먼저이 점들을 찾아야합니다. {x}. 어쩌면 내 직선 보간으로 전환해야한다. –

1

. 스플라인을 살펴본 지 오래되었지만 함수가 연속적이지 않으면 스플라인이 같은 지점에서 불연속 적이어야합니다. 그런 점에서 대략적인 곡선을주는 보간법을 보았지만 아무도 더 좋은 대답을 찾지 못하면 텍스트 책을 점검 할 것입니다.

그러나 루프는 꽤 좋은 시도입니다. 당신의 기능에 대한 칭찬.