기초 개념
수치미분, 수치적분은 기본적으로 (xi,fi)가 주어졌을 때 ∑wifi 선형결합을 구하는 작업임
수치미분 (테일러 전개)
(xi,fi)에서의 미분값을 구하려면 테일러 전개를 쓰면 됨
전진차분
xi,xi+1를 사용해서 미분값을 구한다.
fi+1fi′∴fi′=fi+hfi′+2!h2fi′′+⋯+n!hnf(n)(ξ),xi≤ξ≤xi+1=hfi+1−fi−2!hfi′′−⋯−n!hn−1f(n)(ξ)=hfi+1−fi+O(h)
h는 점 사이의 간격이고 (xi+1−xi), O(h)는 오차가 h에 비례한다는 뜻이다.
후진차분
xi−1,xi를 사용해서 미분값을 구한다.
fi′=hfi−fi−1+O(h)
중앙차분
xi−1,xi+1를 사용해서 미분값을 구한다.
fi′=2hfi+1−fi−1+O(h2)
오차가 O(h2)이라 정확도가 향상되었지만, 항상 중앙차분이 더 좋은건 아니다.
e.g. 함수값이 진동하는 경우 (홀수번째는 fi=A, 짝수번째는 fi=B)
일반적인 차분근사
점의 간격이 h로 일정한 경우 사용할 수 있다.
n계도함수를 구하기 위해서는 각 점에서 테일러 전개한 뒤, 식을 연립하여 1 ~ (n-1)계도함수를 없앤다.
(만약 점이 더 많다면, (n+1)계도함수 이후도 없앤다.)
본질적으로 연립방정식을 푸는 것과 다를게 없다!
e.g. f0′′=6h21(5f−1−8f0+4f2−f3)
수치미분 (보간다항식)
점들을 지나는 다항식을 구한 다음, 그 다항식의 미분값으로 근사한다.
근데 뉴턴다항식의 극한이 테일러 급수기 떄문에, 사실 위에서 테일러 전개로 구한 것과 같은 결과가 나온다!
뉴턴-코테스 수치적분
핵심) f(x)를 근사하는 n차다항식을 적분함
사다리꼴 법칙
각 구간을 사다리꼴로 생각 (사실 이건 1차다항식으로 근사한거임)
∫xixi+1f(x)dx≈2h(fi+fi+1)
오차는 대략 −121h2(f′(b)−f′(a))라고 함.
O(h2) 오차가 저거라는거지 f′(b)=f′(a)라고 오차가 0인게 아님!! O(h3) 오차는 남아있음...
심프슨 1/3 법칙
1차다항식도 썼어 -> 그럼 2차다항식도 쓸 수 있는거 아님?
전체 구간을 n개 대신 2n개로 나누고, 2개씩 묶어서 하나의 구간으로 생각함. (즉, f2i,f2i+1,f2i+2 사용)
그리고 각 구간을 지나는 뉴턴 다항식을 적분하면 됨
∫x2ix2i+2f(x)dx≈3h(f2i+4f2i+1+f2i+2)
계수외우기 꿀팁) 함수값이 1인 상수함수면 적분값 2h여야함 -> 안쪽 계수는 6
근데 왠지 모르겠는데 양끝이 1임 -> 중간은 4
오차는 대략 −1801h4(f′′′(b)−f′′′(a))라고 함.
심프슨 3/8법칙
3차 다항식도 하겠다! 마찬가지로 구간을 3n개로 나눔
∫x3ix3i+3f(x)dx≈83h(f3i+3f3i+1+3f3i+2+f3i+3)
오차는 대략 −801h4(f′′′(b)−f′′′(a))라고 함.
뉴턴-코테스 수치적분
심프슨은 귀찮아서 3차까지만 하고 던짐
코테스가 이거보고 이름 남기고 싶어서 4~9차까지 전부 손으로 계산함;;;;;;;;;;
결국 뉴턴-코테스 수치적분이라고 이름이 남게 됨
근데 뉴턴은 아무것도 안 했는데 뉴턴다항식 적분했다고 이름붙음;;
참고로 수치해석 관점에서 1도 쓸모없는 공식이라고 한다..
4차부턴 오차도 심함 + 아래 방법이 더 좋음!
수치해석은 3차까지만 돌리자
리차드슨의 보외법
서로 다른 두 개의 수치적분결과를 이용하여 개선된 근사값을 얻을 수 있음!
수치적분에 의한 오차가 O(hn)일 떄, 구간의 크기가 h1일 때, h2일 때 수치적분을 하면
IexIex=I(h1)+Ch1n=I(h2)+Ch2n
근데 여기서 C가 같다고 가정하면 간단한 연립방정식으로 C를 소거할 수 있음 (보통 h1>h2으로 둠)
Iex=I(h2)+(h2h1)n−1I(h2)−I(h1)
이게 생각보다 매우 정확함!
단순히 구간 개수를 무지성으로 늘리는 것보다 두 번 구하고 보외법을 쓰는게 나음
c.f. 사다리꼴 법칙 쓰고 리차드슨의 보외법을 n번 적용시키는 방법을 롬버그 적분이라고 함
가우스 구적법
지금까지 본 수치적분은 수동적(passive)임 xi,fi가 다 주어져 있었음
하지만 가우스 구적법은 데이터 점을 능동적(active)하게 정해야 함
대신 미지수가 2배라 더 정확함!
예를 들어 기존 적분방식으로는 점 2개면 1차식만 가능 -> 가우스는 미지수 4개라 3차식까지 가능!
가우스-르장드르 구적법
가우스 구적법이 좋은건 알겠는데 그래서 점을 어떻게 구함?
I=∫−11f(x)dx=w1f(x1)+w2f(x2)
점이 2개인 경우를 예시로 들면 원하는 서로 다른 기저함수 4개에 대해서 위 식이 성립하는 wi,xi를 정하면 됨
이때 기저함수로 1,x,x2,x3,…를 쓰는게 가우스-르장드르 구적법임
e.g. 위 식에 1,x,x2,x3를 집어넣고 풀면 w1=1,x1=−31,w2=1,x2=31이 된다.
근데 사실 x1,x2는 르장드르 함수 P2(x)=21(3x2−1)의 두 근임!!
일반적으로 xi는 르장드르 함수의 근이고, wi=(nPn−1(xi))22(1−xi2)라고 함.
근데 -1 ~ 1에서 적분하는게 아니면 어떡함?
x=a+2b−a(z+1)으로 두면
∫abf(x)dx=∫−11f(x)dzdxdz=2b−a∑i=1nwif(xi)
가우스 구적법의 장점
- 결정점이 적분구간 내부에 있어서 경계에서 특이점을 가져도 적분을 할 수 있음
- 뺼셈이 없기 때문에 유효숫자의 상실 문제가 발생하지 않음
- 미지수가 2배인 효과라 결정점을 몇 개 안 잡아도 효과가 좋음