정적분 구간에 미지수가 있고, solve 를 사용할 수 없을 때 그 값을 확인하려면?
1. 문제 상황
- 표준형 공학용 계산기(Casio fx-570 시리즈 등)는 `SOLVE` 기능 내에 `∫(적분)` 기호를 사용할 수 없고,
- 그리고 계산기 한계로 부정적분이 불가능하므로
어쩔 수 없이 수치적 방법으로 접근해야 함.
2. 해결 방법: 뉴턴-랩슨(Newton-Raphson) 수동 구현
https://losskatsu.github.io/statistics/newton-raphson/

미분적분학 기본 정리(FTC)를 이용하여, 적분 방정식의 해를 찾는 반복식을 계산기 메모리(`Ans`)를 이용해 실행합니다.
✦ 미분적분학의 기본 정리(Fundamental Theorem of Calculus, FTC)는 미분과 적분이라는 전혀 별개로 보이던 두 개념을 하나로 연결하는 수학의 핵심 정리입니다.
이 정리는 크게 두 부분으로 나뉘며, 각각의 의미와 정의를 상세히 정리해 드립니다.
---
1. 미분적분학의 제1 기본정리 (FTC 1)
"적분한 함수를 미분하면 원래 함수가 된다"는 것을 증명합니다. 즉, 미분과 적분은 서로 역연산 관계임을 보여줍니다.
* 정의: 함수 $f$가 닫힌 구간 $[a, b]$에서 연속이고, $x$가 $[a, b]$ 내의 임의의 점일 때, 다음과 같이 정의된 함수 $g(x)$는
$$g(x) = \int_{a}^{x} f(t) \, dt$$
구간 $[a, b]$에서 연속이고 $(a, b)$에서 미분 가능하며, 그 미분값은 다음과 같습니다.
$$g'(x) = f(x)$$
* 의미: 어떤 함수를 $a$부터 $x$까지 정적분하여 만든 새로운 함수(적분함수)를 미분하면, 적분 기호 내부의 피적분 함수 $f$에 $x$를 대입한 결과가 나옵니다.
* 응용: 아래 계산기 우회법에서 사용할 원리가 바로 이것입니다. $\int_{0}^{A} x \, dx$를 $A$에 대해 미분하면 피적분 함수인 $A$가 그대로 튀어나오기 때문에,
뉴턴-랩슨 법의 분모(미분값)로 $A$를 바로 사용할 수 있게 됩니다.
---
2. 미분적분학의 제2 기본정리 (FTC 2)
"정적분을 부정적분의 함숫값 차이로 계산할 수 있다"는 것을 보여줍니다. 복잡한 리만 합(Riemann sum)의 극한을 구하지 않고도 적분 값을 쉽게 계산하게 해줍니다.
* 정의: 함수 $f$가 구간 $[a, b]$에서 연속이고, $F$가 $f$의 임의의 부정적분(즉, $F' = f$)일 때 다음이 성립합니다.
$$\int_{a}^{b} f(x) \, dx = F(b) - F(a)$$
* 의미: 정적분 값은 피적분 함수의 부정적분을 구한 뒤, 상한($b$)을 대입한 값에서 하한($a$)을 대입한 값을 빼는 것만으로 구할 수 있습니다.
* 중요성: 이 정리가 없었다면 우리는 정적분을 구할 때마다 무한급수의 극한을 계산해야 했을 것입니다. 이 정리는 기하학적 넓이(적분)와 변화율(미분) 사이의 강력한 다리를 놓았습니다.
---
3. 두 정리의 관계와 물리적 직관
이 두 정리를 물리적인 관점에서 이해하면 훨씬 쉽습니다.
* 함수 $f(t)$를 '속도'라고 가정해 봅시다.
* 제1정리: 속도를 시간($a$부터 $x$까지)에 대해 적분하면 '변위(위치)'가 됩니다. 이 변위 함수를 다시 미분(시간에 따른 변화율)하면 당연히 원래의 '속도'가 나옵니다.
* 제2정리: 구간 $[a, b]$ 동안의 '전체 변위(정적분)'는 나중 위치($F(b)$)에서 처음 위치($F(a)$)를 뺀 것과 같습니다.
요약 및 결론
| 구분 | 핵심 내용 | 수학적 표현 |
| 제1정리 | 적분과 미분의 역연산 관계 | $\frac{d}{dx} \int_{a}^{x} f(t) dt = f(x)$ |
| 제2정리 | 정적분의 효율적 계산법 | $\int_{a}^{b} f(x) dx = F(b) - F(a)$ |
이 정리는 현대 공학에서 제어 시스템, 신호 처리, 구조 해석 등 모든 수치 해석의 기초가 됩니다. 계산기에서 SOLVE를 적분과 함께 쓸 수 없는 상황에서도 이 FTC
제1정리 덕분에 우리는 수동으로 해를 추적할 수 있는 것입니다.
풀이 대상 방정식
$$\int_{0}^{A} f(x) dx = K$$
를 만족하는 $A$ 찾기.
계산기 입력 공식 (Newton's Method)
$$A_{next} = Ans - \frac{(\int_{0}^{Ans} f(x) dx) - K}{f(Ans)}$$
"왜 분모에 그냥 함수 $f(Ans)$를 넣는 것만으로 미분값이 해결되는가?"
"이 식이 어떻게 정답을 향해 이동하는가?"
1. 뉴턴-랩슨법의 기본 원리: "접선을 따라가면 해가 나온다"
뉴턴-랩슨법은 어떤 함수 $H(x) = 0$이 되는 $x$를 찾기 위해, 현재 위치에서의 접선을 그려서 그 접선이 $x$축과 만나는 지점을 다음 후보로 삼는 방법입니다.
그 공식은 다음과 같습니다.
$$x_{next} = x_{curr} - \frac{H(x_{curr})}{H'(x_{curr})}$$
- $H(x_{curr})$: 현재 위치에서의 함수 값 (얼마나 0에서 멀리 있는가?)
- $H'(x_{curr})$: 현재 위치에서의 기울기 (어느 방향으로 얼마나 가파르게 변하는가?)
---
2. 우리가 풀려는 '적분 방정식'에 적용하기
우리가 풀고 싶은 식은 $\int_{0}^{A} f(x) dx = K$ 입니다.
이를 뉴턴-랩슨법을 쓸 수 있게 $H(A) = 0$ 꼴로 만들면 다음과 같습니다.
$$H(A) = \left( \int_{0}^{A} f(x) dx \right) - K = 0$$
이제 공식에 넣기 위해 $H(A)$를 $A$에 대해 미분($H'(A)$) 해야 합니다.
---
3. 왜 FTC가 '마법의 열쇠'인가? (가장 중요한 부분)
여기서 미분적분학의 제1 기본정리(FTC 1)가 등장합니다.
> FTC 1의 정의: $g(A) = \int_{0}^{A} f(t) dt$ 라면, $g'(A) = f(A)$ 이다.
이 정리는 "적분으로 정의된 함수를 상한($A$)에 대해 미분하면, 그 결과는 단순히 피적분 함수에 $A$를 대입한 것과 같다"는 것을 보장합니다.
따라서 우리의 $H(A)$를 미분해 보면:
1. $\int_{0}^{A} f(x) dx$ 를 $A$로 미분하면? $\rightarrow f(A)$ (FTC에 의해)
2. 상수 $-K$ 를 $A$로 미분하면? $\rightarrow 0$ (상수는 미분하면 사라짐)
결과적으로 $H'(A) = f(A)$ 가 됩니다!
---
4. 최종 공식의 탄생
뉴턴-랩슨 기본 공식에 우리가 구한 값들을 대입해 봅시다.
- $x$ 대신 $A$를 사용
- $H(A) = \int_{0}^{A} f(x) dx - K$
- $H'(A) = f(A)$
이를 합치면 계산기에 입력하는 바로 그 공식이 나옵니다.
$$A_{next} = A_{curr} - \frac{\int_{0}^{A_{curr}} f(x) dx - K}{f(A_{curr})}$$
---
5. 직관적인 이해: "면적 조절하기"
수학 기호를 떠나서 물리적인 직관으로 이해해 보겠습니다.
1. 분자 ($\int_{0}^{A} f(x) dx - K$): 현재까지 쌓인 면적이 목표값 $K$보다 얼마나 모자라거나 남는지 나타내는 '오차'입니다.
2. 분모 ($f(A)$): 현재 위치 $A$에서의 '높이'입니다. 면적은 가로 × 세로인데, 상한 $A$를 아주 살짝 움직일 때 면적이 변하는 속도는 바로 그 지점의 높이($f(A)$)와 같습니다.
3. 나눗셈 (오차 / 높이): 면적 오차 / 높이를 하면, 목표 면적에 도달하기 위해 가로($A$)를 얼마나 더 이동해야 하는지에 대한 근사치가 나옵니다.
즉, "현재 면적이 부족하네? 그럼 현재 높이로 나눠서 가로를 이만큼 더 가보자!"라고 계산기가 계속 보정해 나가는 과정이 $Ans$ 버튼을 연타하는 행위입니다.
---
6. 요약
- Q: 왜 $Ans$를 쓰는가?
- A: 뉴턴-랩슨은 반복법입니다. 한 번 계산된 결과($A_{next}$)를 다시 입력값($A_{curr}$)으로 써서 점점 정답에 수렴해야 하기 때문에 계산기의 Ans 메모리를 이용하는 것입니다.
- Q: 왜 분모가 $f(Ans)$인가?
- A: 미분적분학 기본 정리(FTC) 덕분에, 적분 함수의 변화율(미분값)이 바로 그 지점의 함수값(높이)이라는 사실을 우리가 알고 있기 때문입니다. 덕분에 복잡한 미분 계산 없이 함수 대입만으로 미분값을 대신할 수 있습니다.
이 원리 덕분에 공학용 계산기에서 SOLVE 기능이 적분을 지원하지 않더라도, 우리가 직접 "미분값 자리에 원래 함수를 넣음으로써" 계산기를 속여서(?) 도와서(!) 정답을 찾아낼 수 있는 것입니다.
3. 예제 풀이: $$ \int_{0}^{A} x dx = 10 $$
- 초기값 입력: 【5】 누르고 【=】
- 반복식 입력: `Ans - ( (∫(X, 0, Ans)) - 10 ) / Ans`
Casio Line IO 적분 입력 시: `∫(X, 0, Ans)` (함수, 하한, 상한 순서) - 반복: 【=】 버튼을 Ans 값이 변하지 않을 때까지 연타.
4. 검증 파이썬 스크립트
아래 코드는 계산기가 수행하는 수치 해석 과정을 시뮬레이션합니다.
def f(x):
return x
def integral_f(a):
# \int_{0}^{a} x dx = 0.5 * a^2
return 0.5 * a**2
def solve_integral():
target = 10
a = 5.0 # 초기값
print(f"초기값: {a}")
for i in range(1, 6):
# f(a)는 미분적분학 기본 정리에 의해 적분 함수의 미분값임
numerator = integral_f(a) - target
denominator = f(a)
a = a - numerator / denominator
print(f"반복 {i}회차: {a:.10f}")
if __name__ == "__main__":
solve_integral()
5. 결론
이 방법을 사용하면 계산기의 제약을 우회하여 모든 정적분 형태의 방정식을 소수점 10자리 이상의 정밀도로 풀 수 있습니다.
댓글4
-
세상의모든계산기
참값 : A = ±2√5
근사값 : A≈±4.472135954999579392818347
-
세상의모든계산기
fx-570 ES 입력 결과
초기값 입력

반복 수식 입력

반복 결과

-
세상의모든계산기2시간 전 #57120
뉴턴-랩슨 적분 방정식 시각화 v1.0 📊 Newton-Raphson 적분 방정식 시뮬레이터
미분적분학의 기본 정리(FTC)를 이용한 수치해석 시각화
목표 방정식: ∫₀ᴬ (2√x) dx = 20 을 만족하는 A를 찾아라!현재 반복: 0회💡 시각적 동작 원리 (Newton-Raphson & FTC)
- Step 1 (오차 측정): 현재 A까지 쌓인 파란색 면적이 목표치(20)와 얼마나 차이나는지 계산합니다.
- Step 2 (FTC의 마법): 면적의 변화율(미분)은 그 지점의 그래프 높이 f(A)와 같습니다.
- Step 3 (보정):
다음 A = 현재 A - (면적 오차 / 현재 높이)공식을 사용하여 A를 이동시킵니다. - 결론: 오차를 현재 높이로 나누면, 오차를 메우기 위해 필요한 가로 길이(ΔA)가 나옵니다. 이 과정을 반복하면 정답에 도달합니다!
세상의모든계산기 님의 최근 댓글
뉴턴-랩슨 적분 방정식 시각화 v1.0 body { font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; display: flex; flex-direction: column; align-items: center; background: #f8f9fa; padding: 40px 20px; margin: 0; color: #333; } .container { background: white; padding: 40px; border-radius: 20px; box-shadow: 0 15px 35px rgba(0,0,0,0.08); max-width: 900px; width: 100%; } header { border-bottom: 2px solid #f1f3f4; margin-bottom: 30px; padding-bottom: 20px; } h1 { color: #1a73e8; margin: 0 0 10px 0; font-size: 1.8em; } p.subtitle { color: #5f6368; margin: 0; font-size: 1.1em; } .equation-box { background: #f1f3f4; padding: 15px; border-radius: 10px; text-align: center; margin-bottom: 30px; font-size: 1.3em; } canvas { border: 1px solid #e0e0e0; border-radius: 12px; background: #fff; width: 100%; height: auto; display: block; } .controls { margin-top: 30px; display: flex; gap: 15px; align-items: center; justify-content: center; flex-wrap: wrap; } button { padding: 12px 25px; border: none; border-radius: 8px; background: #1a73e8; color: white; cursor: pointer; font-weight: 600; font-size: 1em; transition: all 0.2s; box-shadow: 0 2px 5px rgba(26,115,232,0.3); } button:hover { background: #1557b0; transform: translateY(-1px); box-shadow: 0 4px 8px rgba(26,115,232,0.4); } button:active { transform: translateY(0); } button.secondary { background: #5f6368; box-shadow: 0 2px 5px rgba(0,0,0,0.2); } button.secondary:hover { background: #4a4e52; } .status-badge { background: #e8f0fe; color: #1967d2; padding: 8px 15px; border-radius: 20px; font-weight: bold; font-size: 0.9em; } .explanation { margin-top: 40px; padding: 25px; background: #fff8e1; border-left: 5px solid #ffc107; border-radius: 8px; line-height: 1.8; } .explanation h3 { margin-top: 0; color: #856404; } .math-symbol { font-family: 'Times New Roman', serif; font-style: italic; font-weight: bold; color: #d93025; } .code-snippet { background: #202124; color: #e8eaed; padding: 2px 6px; border-radius: 4px; font-family: monospace; } 📊 Newton-Raphson 적분 방정식 시뮬레이터 미분적분학의 기본 정리(FTC)를 이용한 수치해석 시각화 목표 방정식: ∫₀ᴬ (2√x) dx = 20 을 만족하는 A를 찾아라! 계산 시작 (A 추적) 초기화 현재 반복: 0회 💡 시각적 동작 원리 (Newton-Raphson & FTC) Step 1 (오차 측정): 현재 A까지 쌓인 파란색 면적이 목표치(20)와 얼마나 차이나는지 계산합니다. Step 2 (FTC의 마법): 면적의 변화율(미분)은 그 지점의 그래프 높이 f(A)와 같습니다. Step 3 (보정): 다음 A = 현재 A - (면적 오차 / 현재 높이) 공식을 사용하여 A를 이동시킵니다. 결론: 오차를 현재 높이로 나누면, 오차를 메우기 위해 필요한 가로 길이(ΔA)가 나옵니다. 이 과정을 반복하면 정답에 도달합니다! const canvas = document.getElementById('graphCanvas'); const ctx = canvas.getContext('2d'); const iterText = document.getElementById('iterText'); // 수학 설정 const targetArea = 20; const f = (x) => Math.sqrt(x) * 2; // 피적분 함수 f(x) = 2√x const F = (x) => (4/3) * Math.pow(x, 1.5); // 정적분 결과 F(x) = ∫ 2√x dx = 4/3 * x^(3/2) let A = 1.5; // 초기값 let iteration = 0; let animating = false; // 그래프 드로잉 설정 const scale = 50; const offsetX = 60; const offsetY = 380; function drawGrid() { ctx.strokeStyle = '#f1f3f4'; ctx.lineWidth = 1; ctx.beginPath(); for(let i=0; i 2026 04.11 참값 : A = ±2√5 근사값 : A≈±4.472135954999579392818347 2026 04.10 fx-570 ES 입력 결과 초기값 입력 반복 수식 입력 반복 결과 2026 04.10 파이썬 코드 검증 결과 초기값: 5.0 반복 1회차: 4.5000000000 반복 2회차: 4.4722222222 반복 3회차: 4.4721359558 반복 4회차: 4.4721359550 반복 5회차: 4.4721359550 초기값: 10.0 반복 1회차: 6.0000000000 반복 2회차: 4.6666666667 반복 3회차: 4.4761904762 반복 4회차: 4.4721377913 반복 5회차: 4.4721359550 2026 04.10 감사합니다. 주말 잘 보내세요. 2026 03.06