오일러 방법 계산기
dy/dx = f(x, y), 초기점, 끝 값을 입력하면 오일러 방법, 개선된 오일러(Heun) 방법, 4차 룬게–쿠타 방법으로 근사해를 구할 수 있습니다. 각 기울기를 포함한 전체 단계 표, 정확한 해(또는 정확도 높은 기준값)와의 오차, 단계를 반으로 줄였을 때의 변화, 그리고 해를 덧그린 기울기장 그래프를 함께 보여 줍니다. 무료이며 회원가입이 필요 없습니다.
기울기는 독립 변수 x와 미지수 y를 사용하고, + − * / ^와 괄호로 씁니다: x + y, x*y, y*(1 − y), sin(x) − y. 함수: sin, cos, tan, exp, ln, sqrt 등.
정확한 해를 알고 있다면 x의 식으로 입력하면 실제 오차를 볼 수 있습니다. 그렇지 않으면 정확도가 높은 RK4 기준값을 사용합니다.
결과
3.1874849
y(1)의 근사값
3.4365637
정확한 y(1)
-0.249
오차
0.1
단계 크기 h
10
단계 수 n
방법
yₙ₊₁ = yₙ + h·f(xₙ, yₙ): 각 단계의 시작점에서 기울기를 따릅니다. 전역 오차는 h에 비례합니다.
단계 표
| n | xₙ | yₙ | k1 | 정확한 y(xₙ) | 오차 |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 1 | 1 | 0 |
| 1 | 0.1 | 1.1 | 1.2 | 1.1103418 | -0.0103 |
| 2 | 0.2 | 1.22 | 1.42 | 1.2428055 | -0.0228 |
| 3 | 0.3 | 1.362 | 1.662 | 1.3997176 | -0.0377 |
| 4 | 0.4 | 1.5282 | 1.9282 | 1.5836494 | -0.0554 |
| 5 | 0.5 | 1.72102 | 2.22102 | 1.7974425 | -0.0764 |
| 6 | 0.6 | 1.943122 | 2.543122 | 2.0442376 | -0.101 |
| 7 | 0.7 | 2.1974342 | 2.8974342 | 2.3275054 | -0.13 |
| 8 | 0.8 | 2.4871776 | 3.2871776 | 2.6510819 | -0.164 |
| 9 | 0.9 | 2.8158954 | 3.7158954 | 3.0192062 | -0.203 |
| 10 | 1 | 3.1874849 | 3.4365637 | -0.249 |
같은 단계에서 세 방법 비교
| 방법 | 끝점에서의 y | 오차 |
|---|---|---|
| 오일러 방법 | 3.1874849 | -0.249 |
| 개선된 오일러(Heun) | 3.4281617 | -0.0084 |
| 룬게–쿠타 4차 | 3.4365595 | -0.00000417 |
단계 절반으로 줄이기 (오일러 방법)
| n | h | 끝점에서의 y | 오차 |
|---|---|---|---|
| 10 | 0.1 | 3.1874849 | -0.249 |
| 20 | 0.05 | 3.3065954 | -0.13 |
| 40 | 0.025 | 3.3701277 | -0.0664 |
| 80 | 0.0125 | 3.4029699 | -0.0336 |
오일러 방법은 h를 반으로 줄이면 오차가 대략 절반이 되고, Heun은 4분의 1, RK4는 16분의 1로 줄어듭니다.
그래프
- 정확한 해
- 오일러 방법
오일러 방법 계산기 사용 방법
- 1. 방정식을 입력하세요. dy/dx = f(x, y)의 우변을 x와 y로 씁니다:
x + y,y*(1 - y),sin(x) - y. - 2. 초기 조건과 끝점을 입력하세요. x₀, y₀ = y(x₀)과 해를 구할 x 값을 입력하세요. 끝점은 x₀보다 왼쪽에 있어도 됩니다.
- 3. 단계를 정하세요. 단계 크기 h를 입력하거나 단계 수 n으로 바꾸세요. h가 구간을 균등하게 나누지 않으면 계산기가 h를 조정하고 그 사실을 알려 줍니다.
- 4. 방법을 고르고 표를 읽으세요. 각 행에는 xₙ, yₙ과 사용된 기울기가 나옵니다. 정확한 해를 알고 있다면 입력해서 실제 오차를 확인하세요.
세 가지 방법
| 방법 | 단계 공식 | 전역 오차 |
|---|---|---|
| Euler | yₙ₊₁ = yₙ + h·f(xₙ, yₙ) | h에 비례 |
| 개선된 Euler(Heun) | yₙ₊₁ = yₙ + (h/2)(k₁ + k₂), 단 k₁ = f(xₙ, yₙ), k₂ = f(xₙ + h, yₙ + h·k₁) | h²에 비례 |
| 룬게–쿠타 4차 | yₙ₊₁ = yₙ + (h/6)(k₁ + 2k₂ + 2k₃ + k₄) | h⁴에 비례 |
오일러 방법은 각 단계의 시작점에서 접선을 따라갑니다. Heun 방법은 시작점의 기울기와 예측된 끝점의 기울기를 평균하며, 이 때문에 명시적 사다리꼴 법칙이라고도 합니다. 4차 룬게–쿠타 방법은 각 단계에서 기울기를 네 번 구해 1, 2, 2, 1의 가중치로 더합니다. 이 방법들은 Burden과 Faires의 Numerical Analysis 5장에 나오는 방법입니다.
실제 예시: y′ = x + y, y(0) = 1
정확한 해는 y = 2eˣ − x − 1이므로 y(1) = 2e − 2 ≈ 3.4365637입니다. 오일러 방법에서 h = 0.1로 처음 몇 단계는 다음과 같습니다:
| n | xₙ | yₙ | 기울기 f(xₙ, yₙ) | 정확한 y(xₙ) |
|---|---|---|---|---|
| 0 | 0 | 1 | 1 | 1 |
| 1 | 0.1 | 1.1 | 1.2 | 1.1103418 |
| 2 | 0.2 | 1.22 | 1.42 | 1.2428055 |
| 3 | 0.3 | 1.362 | 1.662 | 1.3997176 |
예를 들어 y₁ = 1 + 0.1 × (0 + 1) = 1.1이고, y₂ = 1.1 + 0.1 × (0.1 + 1.1) = 1.22입니다. 열 단계를 거치면 오일러 방법은 y(1) ≈ 3.1874849에 도달하며, 오차는 −0.2491입니다. 참해가 아래로 볼록하여 접선이 해보다 아래에 놓이므로 과소 추정됩니다.
| 단계 수 n (h) | x = 1에서 오일러 오차 | Heun 오차 | RK4 오차 |
|---|---|---|---|
| 10 (0.1) | −0.2491 | −0.0084 | −0.0000042 |
| 20 (0.05) | −0.1300 | −0.0022 | −0.00000027 |
| 40 (0.025) | −0.0664 | −0.00056 | −0.000000017 |
| 80 (0.0125) | −0.0336 | −0.00014 | −0.0000000011 |
h를 반으로 줄일 때마다 오일러 방법의 오차는 대략 절반, Heun 방법은 4분의 1, RK4는 16분의 1로 줄어듭니다. 차수 표가 예측하는 대로입니다. n = 10에서 RK4의 오차와 같아지려면 오일러 방법은 수십만 단계가 필요합니다.
기울기장과 오차 읽기
그래프의 짧은 선분들은 격자점에서 기울기 f(x, y)를 나타냅니다. 참해는 모든 지점에서 이 선분들에 접하는 곡선입니다. 수치해는 그 위에 꺾은선으로 그려집니다. 정확한 해를 입력하면 그 옆에 점선으로 그려집니다. 정확한 해가 없으면 오차 열은 최소 2,000단계의 RK4로 구한 기준값과 비교하며, 이 기준값은 여기서 고르는 어떤 방법보다 훨씬 정확합니다. 일부 방정식은 유한한 시간 안에 발산합니다. 예를 들어 y(0) = 1인 y′ = y²는 x = 1에서 발산하며, 이때 표는 값이 무한대가 되는 지점에서 멈춥니다.
자주 묻는 질문
- 오일러 방법은 어떻게 작동하나요?
- 단계별로 해를 만들어 갑니다. 점 (xₙ, yₙ)에서 미분방정식으로 기울기 f(xₙ, yₙ)를 계산하고, 그 접선을 따라 수평 거리 h만큼 나아갑니다. 즉 yₙ₊₁ = yₙ + h·f(xₙ, yₙ)입니다. 새로 얻은 점이 다음 단계의 시작점이 됩니다.
- 오일러 방법은 얼마나 정확한가요?
- 단계당 국소 오차는 h²에 비례하지만, 오차가 약 1/h번 쌓이므로 전역 오차는 h에 비례합니다. 단계를 반으로 줄이면 오차도 절반이 됩니다. 학습용으로는 좋지만 정밀 계산에는 적합하지 않습니다.
- 개선된 오일러 방법이란 무엇인가요?
- 개선된 오일러 방법, 즉 Heun 방법은 먼저 오일러 단계를 한 번 밟아 구간 끝의 값을 예측한 뒤, 그 끝점의 기울기와 시작점의 기울기를 평균합니다. 이 2차 보정으로 전역 오차는 h가 아닌 h²에 비례하게 되며, 그 대신 단계마다 기울기를 두 번 계산합니다.
- 단계 크기는 어떻게 고르나요?
- 단계 절반 표를 활용하세요. 원하는 자릿수까지 답이 변하지 않을 때까지 h를 줄입니다. 오일러 방법은 작은 h가 필요하지만, RK4는 훨씬 큰 h로도 같은 정확도에 도달합니다. 강성(stiff) 방정식, 즉 빠르게 감쇠하는 성분이 있는 방정식은 어떤 방법을 쓰든 작은 h를 요구할 수 있습니다.
- 이계 미분방정식이나 연립방정식도 풀 수 있나요?
- 아니요. 이 도구는 하나의 1계 방정식 dy/dx = f(x, y)만 풉니다. 이계 방정식은 1계 연립 방정식으로 바꿔 쓸 수 있지만, 이 도구는 연립 방정식을 다루지 않습니다.
- 풀이가 중간에 멈추는 이유는 무엇인가요?
- 값이 무한대가 되었기 때문입니다. 참해가 유한한 시간 안에 발산하거나, 불안정한 방정식에서 단계가 너무 커서 생기는 일입니다. 표는 마지막 유한한 행에서 끝나며, 메시지에 그 근처의 x 값이 표시됩니다.