Pendulum
이 페이지의 결과는 좌우로 흔들리는 추의 각도가 시간에 따라 어떻게 변하는지 보여 주는 그래프입니다. 진폭이 작을 때는 단순 조화 진동에 가깝지만, 진폭이 커지면 그렇지 않다는 것을 직접 확인할 수 있습니다.
Model
각도 θ 의 시간 미분 방정식:
θ''(t) = -(g / L) sin(θ)
여기서 g 는 중력 가속도, L 은 줄의 길이입니다.
Steps
- 새 파일을 만들고 다음을 두세요:
g = 9.81,L = 1.0- 시간 간격
dt = 0.01, 시점 수n = 2000
- 길이
n + 1인 배열theta,omega를 만들고 초기값:theta[0] = π / 4(45도)omega[0] = 0
i가1부터n까지 도는 반복문 안에:alpha = -(g / L) * sin(theta[i-1])omega[i] = omega[i-1] + alpha * dttheta[i] = theta[i-1] + omega[i] * dt
- 반복 뒤에
theta를 그래프로 보내기 블록으로 넘기세요.
Pitfalls
dt가 크면 진동이 시간이 지날수록 오히려 커지는 비정상적인 결과가 나옵니다. 시점 수n을 늘리면서dt를 줄여 결과를 비교하세요.- 명시적 오일러는 에너지를 보존하지 않습니다. 오랜 시간에 걸친 정확도가 중요하다면 Symplectic Euler 나 Verlet 적분을 직접 구현해야 합니다.
Variations
- 소진폭 비교 — 초기 각도를
π/16처럼 작게 두고,sin(θ) ≈ θ근사 모델인α = -(g/L) * θ와 비교해 보세요. 진폭이 작을 때는 두 결과가 거의 같지만, 진폭이 커지면 서로 갈라집니다. - 감쇠 — 마찰을 흉내 내려면
α에-c * omega[i-1]항을 더하세요.
Accuracy
명시적 오일러를 쓰는 한, 시간이 갈수록 위상이 점점 어긋납니다. 정성적인 관찰에는 충분하지만, 정량적인 비교를 하려면 다른 적분법이 필요합니다.