곰셈과 함수에서 근삿값의 오차
측정값과 컴퓨터가 계산하는 숫자는 모두 근삿값입니다. 측정 도구는 오차를 갖고 있고, 컴퓨터가 계산하는 수는 수수점 16번째 자리에서 반올림 한 수이기 때문입니다. 오늘은 근삿값끼리 곱하거나, 근삿값을 함수에 넣었을 때 생기는 오차의 크기에 대해서 살펴보려고 합니다. 오차와 상대오차의 정의는 다음과 같습니다.
$$Error(근삿값) = 참값 - 근삿값$$
$$Rel(근삿값) = \frac{참값 - 근삿값}{참값}= \frac{오차}{참값} $$
곱셈의 상대오차
어떤 두 수의 참값, 근삿값, 오차를 각각 $ A, a, \alpha$ , $B, b, \beta$라고 합시다.
$Error(a) = A-a= \alpha$
$Error(b) = B-b = \beta$
$Rel(ab) = \frac{AB-ab}{AB} =\frac{AB - (A-\alpha)(B-\beta)}{AB}$ $=\frac{\alpha}{A}+\frac{\beta}{B} - \frac{ \alpha \beta}{AB}$ $= Rel(a) + Rel(b) - Rel(a) * Rel(b)$
a와 b의 오차가 참값보다 매우 작을 때, $Rel(a) * Rel(b)$의 값은 무시할만큼 작습니다. 따라서 두 근삿값을 곱했을 때 발생하는 상대오차는, 그 근삿값들의 상대오차의 합과 같습니다..
$$Rel(ab)= Rel(a) + Rel(b)$$
함수의 상대오차
함수에 근삿값을 입력했을 때 발생하는 상대오차는 평균값 정리를 이용해 예측이 가능합니다. 평균값 정리에 의하면 다음과 같은 조건을 만족하는 c가 A와 a 사이 구간에 존재합니다.
오차가 매우 작을 때, $A \approx a $이므로 $c \approx A$로 근사가 가능합니다.
$ f(A) - f(a) = f'(A) * (A-a)$
$(A-a) = A * Rel(a)$
$Rel(f(a)) = \frac{ f(A) - f(a)}{f(A)} = \frac{ f'(A) (A-a)}{f(A)}$ $= \frac{f'(A)}{f(A)}A* Rel(a)$
$$Rel(f(a)) = \left( \frac{f'(A)}{f(A)}A \right) Rel(a)$$
$$Error(f(a)) =f'(A) * Error(a)$$
마치며
근삿값을 계산할 때는 항상 오차가 어느 정도 범위인지 신경을 써야합니다. 근삿값에 포함된 오차는 계산을 할면 할수록 점점 커집니다. 그 오차가 대략 어느 정도 크기인지 예상하기 위해 위와 같은 방법을 사용할 수 있습니다.
'물리 수학' 카테고리의 다른 글
에지워드 박스(Edgeworth box) 소개 - 상 (4) | 2017.09.14 |
---|---|
할선법과 오차(Secant method) (5) | 2017.09.10 |
뉴턴의 방법과 오차해석 (Newton's method) (3) | 2017.09.10 |
차원 : 수학적 차원과 물리적 차원 (0) | 2017.09.08 |
라그랑주 승수법 풀이(Lagrange multiplier method) (7) | 2017.09.02 |
라그랑주 보간법(Lagrangian Interpolation) (11) | 2017.08.30 |
verlet 알고리즘 : 유도과정과 의미 (0) | 2017.08.26 |