본문으로 건너뛰기
648 / SCIENTIFIC VALIDATION
먼저 알아두면 좋아요 · 미분방정식의 시간 간격, 에너지와 수렴을 복습하세요.
단원 목록 (650) · 단위·극한·보존과 수렴 검사
이해하는 속도로 읽으세요.개념도이론실험확인 문제

정확한 기준과 독립 검산

눈에 비슷한 궤적에서도 보존량과 세분화 오차를 계산하면 방법의 성질이 드러납니다.

xₙ₊₁² + pₙ₊₁² = (1+h²)(xₙ² + pₙ²)

다음 단계의 두 좌표 제곱을 더해 에너지 비율을 구합니다.

단계 수를 바꿔 수렴 확인하기
이 단원 목차

1. 정확히 풀 수 있는 기준 문제 고르기

단위 질량 조화진동자는 x¨=−ω2x\ddot x=-\omega^2x를 따릅니다. 길이 단위를 정해 x(0)=1x(0)=1, x˙(0)=0\dot x(0)=0으로 두면 정확한 해는 x(t)=cos⁡(ωt)x(t)=\cos(\omega t), v(t)=−ωsin⁡(ωt)v(t)=-\omega\sin(\omega t)입니다. 시뮬레이터를 검사할 궤적, 보존 에너지, 시간 척도를 모두 알 수 있습니다. Hairer의 기하 수치 적분 연구

2. 수치를 비교하기 전에 차원 확인하기

τ=ωt\tau=\omega t, p=v/ωp=v/\omega로 두면 xx와 pp의 단위가 같습니다. 식은 dx/dτ=pdx/d\tau=p, dp/dτ=−xdp/d\tau=-x가 됩니다. 물리 시간 간격 Δt\Delta t는 무차원 간격 h=ωΔth=\omega\Delta t로 바뀝니다. 시간 단위를 바꾸면 주파수와 시간 간격의 수치도 함께 바꿔 곱을 유지합니다.

3. 수치 에너지의 변화 유도하기

명시적 오일러 방법은 두 변수를 이전 상태에서 함께 갱신합니다.

xn+1=xn+hpn,pn+1=pn−hxn.x_{n+1}=x_n+hp_n,\qquad p_{n+1}=p_n-hx_n.

En=(xn2+pn2)/2E_n=(x_n^2+p_n^2)/2로 두고 제곱을 전개하면 교차항이 없어져 En+1=(1+h2)EnE_{n+1}=(1+h^2)E_n입니다. 0이 아닌 간격에서는 매번 에너지가 증가합니다. NN단계 뒤의 비율은 (1+h2)N(1+h^2)^N입니다.

4. 같은 물리 시간에서 수렴 확인하기

최종 무차원 시간을 T=4T=4, 간격을 h=T/Nh=T/N으로 둡니다. 그러면 N→∞N\to\infty에서 EN/E0=(1+T2/N2)N→1E_N/E_0=(1+T^2/N^2)^N\to1입니다. NN을 고정하고 hh만 바꾸면 최종 시간도 달라집니다. 에너지와 궤적 오차를 같은 시간에서 비교합니다.

5. 독립적인 식으로 검산하기

from math import cos, hypot, isclose, sin

T = 4.
previous_error = None
for steps in (20, 40, 80, 160):
    h = T/steps
    x, p = 1., 0.
    for _ in range(steps):
        x, p = x+h*p, p-h*x
    energy_ratio = x*x+p*p
    assert isclose(energy_ratio, (1+h*h)**steps, rel_tol=1e-12)
    error = hypot(x-cos(T), p+sin(T))
    if previous_error is not None:
        assert error < previous_error
    previous_error = error
    print(steps, energy_ratio, error)

6. 검증 조건표 만들기

초기 조건, 단위, 보존량, 정확히 풀 수 있는 극한, 간격 세분화 계획을 기록합니다. 예상하지 못한 드리프트가 선택한 방법의 성질인지 단위나 갱신 순서의 오류인지 구분합니다. 학습한 시뮬레이터에서는 같은 물리 조건에서 장시간 보존량, 상태 오차, 학습 범위 밖 시간 간격을 비교합니다.

CHECK YOUR UNDERSTANDING

설명할 수 있나요?

실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.

1. 시간 간격 수렴을 비교할 때 무엇을 고정해야 하나요?
2. 이 명시적 오일러 갱신에서 0이 아닌 간격의 에너지는?

선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.