불균일하게 샘플링 된 함수를 어떻게 수치 적으로 구별 할 수 있습니까?


21

표준 유한 차분 식은 균등 한 간격으로 함수 값 가 있다고 가정하여 도함수를 수치 적으로 계산하는 데 사용할 수 있으므로 는 상수입니다. 간격이 고르지 않은 점이 있으면 가 인접한 점 쌍마다 달라 지려면 어떻게해야 합니까? 분명히 나는 ​​여전히 1 차 미분을 있지만 더 높은 차수의 수치 미분 공식이 있습니다 격자 크기의 변화에 ​​적응할 수있는 정확성?h x k + 1x k h f ( x ) 1f(xk)hxk+1xkhf(x)1hk[f(xk+1)f(xk)]


7
점을 통과하는 (조각) 다항식 보간을 구성한 다음 구별 할 수 있습니다.
JM

또는 단순화없이 없이 유한 차분 수식을 재구성 할 수 있습니다 . 종종 통합을 위해이 작업을 수행해야하지만 JM의 제안이 더 안정적 일 수 있습니다. h=xk+1xk
rcollyer

어떤 기능입니까?
mbq

이 질문을 촉발 한 예는 로그 간격 값 샘플링 된 함수 이지만 로그 변환 된 데이터의 2 차 미분을 계산하면 재미있는 결과가 나오고 확인하고 싶었습니다. 또한 가능한 한 일반적인 질문을 할 것이라고 생각했습니다. xk=x0δk
David Z

1
내가 아는 한, 1 차 및 2 차 파생 상품에만 효과가있는 것은이 질문에 대한 완벽한 대답 일 것입니다. 나는 누군가가 하나를 가지고 있다면 일반적인 답변을 허용하기 위해했던 것처럼 질문을 썼지 만 실제로는 가장 유용한 첫 번째와 두 번째 파생물입니다.
David Z

답변:


21

JM의 의견은 맞습니다. 보간 다항식을 찾아 구별 할 수 있습니다. 이러한 공식을 도출하는 다른 방법이 있습니다. 일반적으로, 그들은 모두 계수에 대한 반 데르 몬드 시스템 을 해결합니다 . Vandermonde 행렬이 잘못 조정되기 때문에 유한 차이 스텐실에 많은 수의 점이 포함 된 경우이 방법이 문제가됩니다. 보다 수치 적으로 안정적인 접근 방식은 Fornberg 에 의해 고안되었으며 보다 명확하고 일반적으로 그의 두 번째 논문 에서 설명 됩니다.

다음은 Fornberg의 방법을 구현하여 점 집합이 포함 된 차수 미분에 대한 유한 차이 근사 계수를 계산 하는 간단한 MATLAB 스크립트 입니다. 자세한 설명 은 유한 차분 법에 대한 LeVeque의 텍스트 1 장을 참조하십시오.

FD 공식에 대해 좀 더 설명하십시오. 1D 격자가 있다고 가정하십시오. 전체 그리드 점 세트를 사용하여 FD 수식 세트를 결정하는 경우 결과 방법은 전체 그리드를 통해 보간 다항식을 찾아 차별화하는 것과 같습니다. 이 방법을 스펙트럼 배열이라고합니다. 또는 각 그리드 점에 대해 몇 개의 인접 점만 사용하여 FD 수식을 결정할 수 있습니다. 이것이 전통적인 유한 차분 법에서 수행되는 것입니다.

아래 주석에서 언급했듯이, 매우 높은 차수의 유한 차분을 사용하면 점을 신중하게 선택하지 않으면 진동 (Runge 현상)이 발생할 수 있습니다.


3
반면, 보간 다항식을 사용할 때는 데이터가 충분히 구성되어있는 경우 데이터에서 발생할 수있는 Runge 현상과 같은 일을 항상 기억해야합니다. 나는 조각 별 다항식이 이것에 덜 민감 할 수 있다고 말하고 싶습니다 ...
JM

1
Koev의 작업과 Fornberg의 기술이 관련이 있는지 궁금합니다.
David Ketcheson

1
흥미롭게도, Fornberg의 공식과 보간 다항식을 생성하는 고전적인 Neville 방법을 기반으로 Lyness와 Moler가 개발 한 초기 공식 사이에는 유사점이 있습니다 . 그들은 실제로 다른 표기법으로 동일한 수식 일 수 있지만 철저하게 확인하지는 않았습니다.
JM

2
많은 점으로 다항식 보간을 수행하려면 특수한 점 분포를 잘 조정해야합니다. 일반적으로, 균일하지 않은 점 분포의 경우 보간 다항식을 보간하고 분화하는 것은 권장하지 않습니다 (JM에서 언급 한 "Runge 현상"이라고 생각). 당신의 필요에 따라, 많은 실제 목적을 위해 근사 파생물의 근사 문제에 대한 좋은 해답을 줄 수있는 입방 스플라인을 사용하는 것이 더 좋습니다.
Allan P. Engsig-Karup

1
좋은 대답입니다. 정보 제공을 위해이 백서 는 Fornberg에 대한 대체 접근 방식을 제공합니다. 동일한 원리를 따르지만 다른 알고리즘을 제공합니다.
davidhigh


2

위의 답변은 사용할 코드를 제공한다는 점에서 훌륭하지만 이론적으로는 좋지 않습니다. 보간 다항식에 대해 자세히 알아 보려면 몇 가지 구체적인 예를 통해이 이론적 처리 방법을 살펴보십시오.

Singh, Ashok K. 및 BS Bhadauria. "래그 레인지의 보간 공식을 사용하는 동일하지 않은 하위 구간에 대한 유한 차분 공식." International Journal of Mathematics and Analysis 3.17 (2009) : 815-827. ( PDF로 링크 )

저자는 Lagrangian Interpolation ( Wikipedia 기사 참조)을 사용하여 3 점, 4 점 및 5 점 보간 다항식과 1 차, 2 차 및 3 차 도함수를 계산합니다. 또한 잘림 오류에 대한 표현식이 있으므로 유한 차분 방식을 사용할 때 고려해야합니다. 또한 N 포인트를 사용하여 보간 다항식을 계산하기위한 일반 공식이 있습니다.

Lagrangian 보간 다항식은 보간하는 도메인에서 그 파생어와 그 파생어가 매우 정확할 수 있으며 그리드 간격이 고르지 않기 때문에 유용합니다. 라그랑지안 보간 다항식의 특성으로 인해 그리드 점보다 더 많은 파생 도함수를 가질 수 없습니다.

필자가 인용 한 종이에는 임의로 고차 유한 차분 법에 대한 수식이 있기 때문에 본질적으로 고르지 않은 격자에 대한 것이고 스텐실에 포함하는 격자 점의 수에 의해서만 제한되기 때문에 나는 이것이 당신의 질문에 잘 대답한다고 생각합니다. 이 논문에는 또한 잘림 오류에 대한 일반 공식이 있으며, 이는 고려할 다른 체계에 대해 라그랑지안 보간 다항식 체계를 평가하는 데 도움이됩니다. 저자의 논문은 Fornberg의 방법과 동일한 결과를 제공해야합니다. 그들의 기여는 실제로 몇 가지 예를 제시하고 오류를 추정하는 데 유용합니다.

내가 인용 한 논문 Fornberg의 연구 는 모두 내 연구에 유용하다는 것을 알았습니다.


1
내가 언급해야해서 미안하지만, 인용 된 참고 문헌은 이상하게 보입니다. 이와 대조적으로 Fornberg는 간단한 알고리즘을 제공하여 이미 80 년대의 일반적인 문제를 해결했습니다 . 여기를
davidhigh

일반적인 문제를 해결하는 또 다른 논문이 있습니다.
davidhigh

2
이 논문을 무시하는 마지막 의견. "우수한 이론적 처리"에서는 9 개의 참고 문헌을 가질 수 없습니다. 여기서 7은 자신의 저작물과 하나의 일반적인 수치 분석 서적을 나타냅니다. 적어도 독자가 직접 주제를 발명하지 않은 경우에는 그렇지 않습니다.
davidhigh

당신 말이 맞아요 나는 수식이 개선 될 수는 있지만 끔찍하다고 말할 수는 없습니다. 특별한 경우는 실제로 테스트 / 비교보다 좋으며 Fornberg와 동일한 일반 공식을 제공합니다.
jvriesem

1
@jvriesem 인용 된 논문은 Eqn의 세 번째 용어에서 잘못된 부호를 나타냅니다. (15b)
Tarek


-4

가장 간단한 방법은 유한 차분 근사법을 사용하는 것입니다.

간단한 2 점 추정은 점 (x, f (x))와 (x + h, f (x + h))를 통해 근처의 섹 선의 기울기를 계산하는 것입니다. [1] 작은 숫자 h를 선택하면 h는 x의 작은 변화를 나타내며 양수 또는 음수 일 수 있습니다. 이 선의 기울기는

f(x+h)f(x)h

이 표현은 뉴턴의 차이 몫입니다.

이 경사 선의 기울기는 접선의 기울기와 대략 h에 비례하는 양만큼 다릅니다. h가 0에 가까워짐에 따라, 이등 선의 기울기는 접선의 기울기에 접근한다. 따라서 x에서 f의 실제 미분 값은 시컨트 선이 접선에 가까워 질수록 차이 몫의 값의 한계입니다.


1
David Zaslavsky가 특별히 몫의 미분법을 언급 했으므로 더 큰 근사값이 있는지 묻는 질문이 있습니다.
Dan

7
또한 원래 답변의 일부인 스팸 링크를 제외하고 Wikipedia 에서 직접 복사하여 붙여 넣기했기 때문 입니다.
David Z
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.