한양과학기술고등학교

에듀테크 프로젝트 대시보드

정적분과 넓이 — 리만 합

정적분과 넓이 — 리만 합

곡선 아래 넓이를 어떻게 구할까? 잘게 쪼갠 직사각형들의 넓이를 더한 뒤, 분할을 무한히 촘촘하게 만드는 것 — 그것이 정적분이다. (미적분1 · 적분)

곡선 y = f(x) 아래 넓이는 초등학교에서 배운 "가로 × 세로" 공식으로는 안 구해진다. 대신 구간을 잘게 나눠 직사각형으로 근사하고, 그 근사를 점점 정밀하게 만든다. 아래 위젯에서 분할 수 n 을 키우면 직사각형들의 합(리만 합)이 진짜 정적분 값으로 수렴하는 과정을 눈으로 볼 수 있다.

1. 직접 해보기

함수를 고르고, 적분 구간 [a, b] 와 분할 수 n 을 조절해 보자. 캔버스 아래쪽의 ▲ 삼각형 핸들을 좌우로 끌어도 구간이 바뀐다. 왼쪽끝 / 오른쪽끝 / 중점 중 어느 높이로 직사각형을 세울지도 골라볼 수 있다.

양(+) 넓이 — 정적분에 더해짐 음(−) 넓이 — f(x)<0, 정적분에서 빼짐 곡선 y = f(x)
리만 합 근삿값 Sₙ
–
실제 정적분 ∫ₐᵇ f
–
오차 (Sₙ − 정적분)
–
폭 Δx = (b−a)/n
–

위 그래프: 같은 함수·구간·표본점 방식에서 n 을 1 → 200 으로 키울 때 절대 오차 |Sₙ − 정적분| (세로축 로그). 빨간 점이 지금 슬라이더의 n 위치다. n 이 커질수록 오차가 0 으로 내려간다.

2. 구분구적법에서 정적분으로

구간 [a, b] 를 n 등분하면 각 조각의 폭은 Δx = (b − a) / n 이다. k 번째 조각에서 표본점 xₖ* 를 하나 잡아 높이 f(xₖ*) 인 직사각형을 세우고 전부 더한 것이 리만 합이다.

Sₙ = Σk=1n   f(xₖ*) · Δx

표본점을 조각의 왼쪽끝으로 잡으면 왼쪽 리만 합, 오른쪽끝이면 오른쪽 리만 합, 가운데면 중점 리만 합이다. 위젯에서 확인했듯 같은 n 이라도 중점 방식이 보통 오차가 훨씬 작다. 하지만 n → ∞ 로 보내면 세 방식 모두 같은 값에 수렴한다. 이 극한을 정적분이라 하고 이렇게 쓴다.

∫ab f(x) dx  =  limn→∞   Σk=1n f(xₖ*) Δx

기호 ∫ 는 "합(Sum)"의 S 를 늘인 것이고, dx 는 무한히 얇아진 Δx 를 뜻한다. 즉 정적분은 "무한히 많은, 무한히 얇은 직사각형 넓이의 합"이다.

표본점 방식xₖ* (k = 1 … n)특징
왼쪽끝a + (k−1)Δx증가함수면 항상 과소평가
오른쪽끝a + kΔx증가함수면 항상 과대평가
중점a + (k−½)Δx위아래 오차가 상쇄돼 수렴이 빠름

3. 미적분의 기본정리 — 넓이를 공식으로

극한을 매번 계산할 수는 없다. 다행히 미적분의 기본정리가 지름길을 준다. f 의 부정적분(원시함수) F 를 하나 찾으면 (즉 F ′(x) = f(x)), 정적분은 양 끝값의 뺄셈으로 끝난다.

∫ab f(x) dx  =  F(b) − F(a)   ( = [ F(x) ]ab )

위젯의 "실제 정적분" 값은 바로 이 공식으로 계산한 것이다. 선택할 수 있는 네 함수의 원시함수는 다음과 같다.

f(x)원시함수 F(x)
x²x³ / 3
sin x + 1−cos x + x
√x(2/3) x3/2
x³ − x + 1x⁴/4 − x²/2 + x

간단한 계산 예

∫02 x² dx = [ x³/3 ]02 = 8/3 − 0 = 2.667…

∫0π sin x dx = [ −cos x ]0π = (−cos π) − (−cos 0) = 1 + 1 = 2

∫14 √x dx = [ (2/3) x3/2 ]14 = (2/3)(8 − 1) = 14/3

4. 넓이 ≠ 정적분 — 부호에 주의

정적분은 f(x) < 0 인 구간에서 음수를 더한다. 위젯에서 f(x) = x³ − x + 1 을 골라 구간을 [-2, 1] 쯤으로 놓으면, 축 아래로 내려간 빨간 직사각형들이 보인다. 이 부분은 정적분 값을 깎아내린다.

그래서 "곡선과 x축 사이의 실제 넓이"를 원한다면 음수 구간을 뒤집어야 한다.

넓이  =  ∫ab | f(x) | dx   ≥  ∫ab f(x) dx

예를 들어 ∫02π sin x dx = 0 이다 (위로 볼록한 부분과 아래로 볼록한 부분이 정확히 상쇄). 하지만 그 곡선과 x축이 실제로 감싸는 넓이는 ∫02π |sin x| dx = 4 로 0 이 아니다. 정적분은 "부호가 있는 넓이"라는 점을 늘 기억하자.

파이썬으로 리만 합 확인하기

def riemann(f, a, b, n, mode="mid"):
    dx = (b - a) / n
    total = 0.0
    for k in range(n):
        xl, xr = a + k*dx, a + (k+1)*dx
        xs = xl if mode == "left" else xr if mode == "right" else (xl + xr) / 2
        total += f(xs) * dx           # f(xs) 가 음수면 음수가 더해진다
    return total

print(riemann(lambda x: x*x, 0, 2, 10))      # ≈ 2.66  (정답 8/3 = 2.667)
print(riemann(lambda x: x*x, 0, 2, 2000))    # ≈ 2.6667 — n 을 키우면 수렴
한 줄 요약 — 구간을 n 등분해 세운 직사각형 넓이의 합(리만 합)에서 n → ∞ 극한을 취한 것이 정적분이며, 부정적분 F 를 알면 ∫ₐᵇ f = F(b) − F(a) 로 단번에 구한다. 단, 정적분은 부호가 있는 넓이이고 실제 넓이는 ∫|f| 로 따로 계산한다.

관련 콘텐츠: 할선과 접선 (미분계수) · 미분 시뮬레이터 · 몬테카를로 방법으로 넓이 구하기