적응형 스텝 크기

Adaptive step size

수학 수치해석에서는 방법의 오류를 제어하고 A-안정성과 같은 안정성 특성을 보장하기 위해 일반 미분방정식의 수치해결 방법(숫자통합의 특별한 경우를 포함한다)에 적응단계 크기를 일부 방법에서 사용한다. 파생상품의 크기에 큰 차이가 있을 때 적응적 단계화를 사용하는 것은 특히 중요하다. 예를 들어, 지구에 대한 위성의 움직임을 표준 케플러 궤도로 모델링할 때 오일러 방법과 같은 고정된 타임스텝 방식으로 충분할 수 있다. 그러나 삼체 문제에서처럼 지구와 달 모두를 고려한 우주선의 움직임을 모형화하고자 한다면 상황은 더 어렵다. 그곳에서 우주선이 지구와 달에서 멀리 떨어져 있을 때 큰 시간 스텝을 밟을 수 있는 시나리오가 등장하지만 우주선이 행성체 중 하나와 충돌할 정도로 가까워지면 작은 시간 스텝이 필요하다. Romberg방법과 Runge-Kutta-Fehlberg는 적응적 단계화를 사용하는 수치적 통합 방법의 예들이다.

단순성을 위해 다음의 예는 가장 간단한 통합 방법인 오일러 방법을 사용하며, 실제로는 융복합성과 안정성 특성이 우수하기 때문에 룬게-쿠타 방법과 같은 고차방식이 선호된다.

초기 가치 문제 고려

여기서 yf는 벡터를 나타낼 수 있다(이 경우 이 방정식은 여러 변수의 결합된 ODE 시스템을 나타낸다).

함수 f(t,y)와 초기 조건(a, ya)이 주어지며, t = b에서 솔루션을 찾는 데 관심이 있다. y(b)는 b에서 정확한 솔루션을 나타내고 yb 계산하는 솔루션을 나타내도록 한다. + = ( b) 라고 쓰는데 여기서 }은) 숫자 해법의 오류다

tn = a + nh로 t 값의 시퀀스(tn)에 대해 오일러 방법은 y(tn)의 해당 값에 근사치를 제공한다.

이 근사치의 로컬 잘라내기 오류는 다음과 같이 정의된다.

그리고 테일러의 정리를 통해 (제공 f가 충분히 매끄러운 경우) 국부 절단 오차는 스텝 크기의 제곱에 비례한다는 것을 알 수 있다.

여기서 c는 비례성의 일정한 것이다.

우리는 이 솔루션과 그 오류를 a( ) 로 표시했다

c의 가치는 우리에게 알려져 있지 않다. 이제 다른 스텝 크기로 오일러의 방법을 다시 적용하여 y(tn+1)에 대한 두 번째 근사치를 생성해 봅시다. 우리는 () 로 라벨을 붙이는 두 번째 솔루션을 얻는다 새로운 단계 크기를 원래 단계 크기의 절반으로 잡고, 오일러의 방법의 두 단계를 적용한다. 이 두 번째 해결책은 아마도 더 정확할 것이다. 오일러의 방법을 두 번 적용해야 하기 때문에 (최악의 경우) 국소 오차는 원래 오차의 두 배다.

여기서 오류 인자 가) [, t+ 간격에 걸쳐 일정하다고 가정한다 실제로 그 변화율은 ( )( t) y에 비례한다 용액을 빼면 다음과 같은 오류 추정치가 나온다.

이 현지 오류 추정치는 세 번째 오더 정확하다.

현지 오류 추정치는 원하는 정확도를 달성하기 위해 단계 h h을(를) 수정하는 방법을 결정하는 데 사용할 수 있다. 예를 들어 {\tol의 로컬 허용 오차가 허용되면 h가 다음과 같이 진화하도록 할 수 있다.

은(는) 다음 시도에서 성공을 보장하는 안전 요인이다. 최소값과 최대값은 이전 단계의 극단적인 변화를 방지하는 것이다. 이는 원칙적으로 다음 시도에서 의 오차를 제공해야 한다. + ( )< 을(를) 사용하면 단계가 성공적이라고 간주하고, 오류 추정치를 사용하여 솔루션을 개선한다.

이 솔루션은 실제로 현지 범위에서 세 번째 순서(전지구적 범위에서 두 번째 순서)가 정확하지만, 오류 추정치가 없기 때문에 단계 수를 줄이는 데 도움이 되지 않는다. 이 기법은 리처드슨 외삽법이라고 불린다.

= - 의 초기 단계적 크기를 시작으로 이 이론은 로컬 오류 허용오차가 주어지는 최적의 단계 수를 사용하여에서 까지 OSD의 제어 가능한 통합을 촉진한다. 단점은 특히 저차 오일러 방식을 사용할 경우 스텝 크기가 엄청나게 작아질 수 있다는 점이다.

4차 룬게-쿠타 방법과 같이 고차방식에 대해서도 유사한 방법을 개발할 수 있다. 또한 로컬 오류를 글로벌 범위로 확장함으로써 글로벌 오류 허용오차를 달성할 수 있다.

포함된 오류 추정치

소위 '임베디드' 오류 추정치를 사용하는 적응 단계화 방법에는 보고키-샴핀, 런지-쿠타-펠버그, 캐시-카프 도만드-프린스 방법이 포함된다. 이러한 방법은 계산적으로 더 효율적이지만 오차 추정의 정확도는 더 낮은 것으로 간주된다.

내장된 방법의 아이디어를 설명하려면 n {\n}}을를) 업데이트하는 다음 방법을 고려하십시오

단계 는 이전 정보 = (n - )에서 예측된다

임베디드 RK 메서드의 경우 연산에는 하위 순서 RK 메서드 ~ 이(가) 포함되어 있다 그러면 오류는 간단하게 다음과 같이 기록될 수 있다.

n {\ {\(는) 정규화되지 않은 오류다. 이를 정상화하기 위해 절대 허용오차 및 상대 허용오차로 구성된 사용자 정의 허용오차와 비교한다.

그런 다음 정규화된 n 을 1과 비교하여 예측된 :

매개 변수 q는 순서가 낮은 RK 방법 ~ 에 해당하는 순서다 위의 예측 공식은 추정된 국소 오차가 공차보다 작을 경우 단계를 확대하고 그렇지 않을 경우 단계를 축소한다는 점에서 그럴듯하다.

위에 제시된 설명은 명시적 RK 솔러에 대한 단계별 제어에 사용되는 간단한 절차다. 더 자세한 치료법은 하이레의 교과서에서 찾을 수 있다.[1] 많은 프로그래밍 언어의 OSE 해결사는 이 절차를 적응 단계별 제어를 위한 기본 전략으로 사용하며, 이는 다른 엔지니어링 매개변수를 추가하여 시스템을 보다 안정적으로 만든다.

참고 항목

참조

  1. ^ E. Hairer, S. P. Norsett G. Wanner, "일반적인 미분 방정식 I: 비안정적 문제 해결", Sec. II.

추가 읽기

  • 윌리엄 H. 언론, 사울 A. Teukolsky, William T. Brian P. Flannery, C, Second Edition, C. C. C.의 수치적 레시피1992년 ITY PRESS. ISBN0-521-43108-5
  • 켄달 E. 앳킨슨, 수치분석, 세컨드 에디션, 존 와일리 & 선즈, 1989. ISBN 0-471-62489-6