정적분 구간에 미지수가 있고, 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})$: 현재 위치에서의 기울기 (어느 방향으로 얼마나 가파르게 변하는가?)
저 위의 (녹색 칠판) 그림으로 생각해 보면
$$ 삼각형의 빗변 기울기 = \dfrac{높이}{밑변} $$ 이고
$$ f'(x_{n}) = \dfrac{f(x_{n})}{x_{n}-x_{n+1}} $$ 로 표현되는데
이걸 $ x_{n+1} $ 에 대해 정리하면 위의 뉴튼 랩슨 표현과 같아집니다.
---
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 입력 결과
초기값 입력

반복 수식 입력

반복 결과

-
세상의모든계산기2026.04.11 - 14:02 #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)가 나옵니다. 이 과정을 반복하면 정답에 도달합니다!
세상의모든계산기 님의 최근 댓글
- claude AI는 l-c*r^2 을 1-c*r^2 으로 잘못 읽고 표시하고 있습니다. - TI-nspire CAS 계산기에 l-c*r^2 ≥0 을 조건에 추가해 계산해 보아도 결과는 바뀌지 않습니다. 2026 07.20 ⚠️ 경고가 바로 두 번째 방법이 "성공"한 이유와 정확히 연결되어 있습니다. 경고의 의미 "Domain of the result might be larger than the domain of the input"는 CAS가 절댓값(모듈러스)을 계산하는 과정에서 원래 식보다 정의역이 더 넓은 형태로 단순화했다는 뜻입니다. 구체적으로 이 계산은 내부적으로 대략 이런 과정을 거칩니다. $$\left|\frac{er}{e\cdot r}\right| = \sqrt{\left(\frac{er}{e\cdot r}\right)\cdot\overline{\left(\frac{er}{e\cdot r}\right)}}$$ 즉 원래 식(복소수)과 그 켤레복소수를 곱해서 실수부·허수부 제곱합을 만들고, 거기에 다시 제곱근을 씌우는 과정입니다. 이 과정에서 √(x²) → x 또는 √a·√b → √(ab) 같은 규칙들이 쓰이는데, 이런 규칙들은 x가 실수이고 0 이상일 때만 엄밀하게 성립합니다. CAS는 이 조건들을 일일이 다 추적하지 않고 넘어가면서, 원래는 (e≠0, r+l·ω·i ≠ 0 등) 복소수 특유의 좁은 정의역을 가진 식을, r, l, ω가 어떤 실수여도(부호 무관하게) 정의되는 1/√(r²+l²·ω²)라는 더 넓은 정의역의 식으로 바꿔버린 것입니다. CAS는 이 손실을 감지하고 경고를 띄운 것입니다. 이게 왜 조건 대입 성공과 연결되는가 정리하면, 이 경고는 사실상 이런 뜻입니다. "나는 이 결과를 만들면서 원래 식이 가지고 있던 정의역 제약 정보(부호 조건, i 관련 조건 등)를 이미 버렸다." 바로 이 "정의역 정보를 버린" 상태가 이후 con_1 대입을 매끄럽게 만드는 원인입니다. 첫 번째 시도에서는 i가 살아있는 원래 식에 조건을 대입했기 때문에, CAS가 √(1-c·r²)이 실수인지(정의역 조건: 1-c·r² ≥ 0) 계속 추적하려고 했고, 그 정보가 con에 없어서 더 이상 정리를 못 하고 멈췄습니다. 두 번째 시도에서는 절댓값 계산 단계에서 이미 그런 세밀한 정의역 추적을 CAS 스스로 포기(단순화)했기 때문에, 이후 ω에 무리식을 대입해도 "이게 실수가 맞나?" 하는 검증 절차 없이 그냥 대수적으로 치환·정리해 버립니다. 그래서 깔끔하게 √c/√l이 나온 겁니다. 한 줄 요약 절댓값 계산 시 뜬 "정의역이 넓어졌을 수 있다"는 경고는, CAS가 그 순간에 원래 식의 엄밀한 조건(정의역)을 놓쳤다는 신호이고, 바로 그 "조건을 놓친 상태"이기 때문에 뒤에 이어지는 조건식 대입이 막힘없이 진행된 것입니다. 다만 그 대가로, 결과인 1/√(r²+l²·ω²)이나 최종 √c/√l이 원래 회로 조건(i≠0이 되는 경계, 분모가 0이 되는 경우 등)에서는 엄밀히 성립하지 않을 수 있다는 점은 감안하셔야 합니다. 실제 물리적으로는 r, l, c > 0이고 결과도 물리적으로 타당한 형태라 문제없어 보이지만, 수학적 엄밀성 측면에서는 "정의역이 넓어진 근사적 결과"라는 꼬리표가 붙어있는 셈입니다. 2026 07.20 Claude AI 답변 TI-Nspire CAS의 | (such that / 조건대입) 연산자는 대입 시점의 수식 형태를 그대로 두고 기호만 치환하는 연산입니다. 대입 후에 처음부터 다시 "실수부/허수부 분리, 유리화" 같은 재간소화를 자동으로 수행하지 않습니다. 이 차이가 지금 보신 결과 차이의 핵심입니다. 첫 번째 경우 (|er/(e·r)| | con_1 and con → 실패) 이 시점의 식은 아직 r + l·ω·i 형태의 복소수 그대로입니다 (i가 살아있음). 여기에 con_1: ω = √(1-c·r²)/(√c·l)을 대입하면, 분모 안에 i · √(1-c·r²) 라는 항이 새로 생깁니다. 문제는 CAS가 √(1-c·r²)이 실수인지(즉 1-c·r² ≥ 0인지) 판단할 근거가 없다는 겁니다. 저장해 두신 con 조건은 c>0, l>0, r>0뿐이고, 1-c·r²≥0이라는 조건은 포함되어 있지 않습니다. 그래서 CAS는 i와 이 무리식을 더 정리(유리화, 실수부·허수부 재결합)하지 못하고 있는 그대로 남겨둡니다. 결과에 여전히 i가 보이는 이유입니다. 두 번째 경우 (결과값 1/√(r²+l²·ω²)에 대입 → 성공) |er/(e·r)| (절댓값/모듈러스) 연산은 그 자체로 이미 "복소수 → 실수" 변환을 완료한 결과입니다. 즉 1/√(r²+l²·ω²)에는 더 이상 i가 없고, 순수하게 r, l, ω로만 이루어진 실수식입니다. 이 식에 ω = con_1을 대입하는 것은 그냥 실수 대수식에 실수 대입하는 것이므로, i와 무리식이 뒤엉키는 문제 자체가 발생하지 않습니다. 그래서 바로 깔끔하게 √c/√l로 정리됩니다. 정리하면 절댓값(모듈러스) 계산은 "이 값들이 실수다"라는 가정을 이미 내부적으로 써서 i를 제거하는 연산입니다. 그 연산을 조건 대입 이전에 해두면, 이후 대입은 단순 실수 대입이라 문제없이 정리됩니다. 반대로 i가 남아있는 식에 무리식을 포함한 조건을 먼저 대입하면, 그 무리식의 실수성/부호에 대한 가정이 없어서 CAS가 i를 소거하는 재간소화를 못 하고 멈춰버립니다. 실용적 팁: 복소식에 조건을 대입해야 할 때는 가능하면 절댓값·실수화(유리화) 등을 먼저 끝내서 i를 없앤 뒤 조건을 대입하거나, 대입 후 결과에 다시 simplify/expand/combine 같은 명령을 한 번 더 걸어주면 (필요한 도메인 조건과 함께) 정리가 되는 경우가 많습니다. 2026 07.19 저도 어림잡아 추측할 뿐이지 정확한 이유를 알지는 못합니다. 질문하신 사진을 그대로 (Gemini 3.5 Flash / ChatGPT / Claude Sonnet 5) AI에 넣어 보니 claude AI 가 제일 합리적인 답변을 주어서 이를 붙여 넣습니다. 2026 07.19 아 그렇네요. 감사합니다. ^^ 2026 04.28