Loading [MathJax]/jax/output/CommonHTML/jax.js

곰셈과 함수에서 근삿값의 오차

Posted by wbpark
2017. 9. 9. 18:48 물리 수학

측정값과 컴퓨터가 계산하는 숫자는 모두 근삿값입니다. 측정 도구는 오차를 갖고 있고, 컴퓨터가 계산하는 수는 수수점 16번째 자리에서 반올림 한 수이기 때문입니다. 오늘은 근삿값끼리 곱하거나, 근삿값을 함수에 넣었을 때 생기는 오차의 크기에 대해서 살펴보려고 합니다. 오차와 상대오차의 정의는 다음과 같습니다.


Error()=

Rel()==


곱셈의 상대오차

어떤 두 수의 참값, 근삿값, 오차를 각각 A,a,α , B,b,β라고 합시다. 

Error(a)=Aa=α

Error(b)=Bb=β


Rel(ab)=ABabAB=AB(Aα)(Bβ)AB =αA+βBαβAB =Rel(a)+Rel(b)Rel(a)Rel(b)


a와 b의 오차가 참값보다 매우 작을 때, Rel(a)Rel(b)의 값은 무시할만큼 작습니다. 따라서 두 근삿값을 곱했을 때 발생하는 상대오차는, 그 근삿값들의 상대오차의 합과 같습니다.. 

Rel(ab)=Rel(a)+Rel(b)


함수의 상대오차

함수에 근삿값을 입력했을 때 발생하는 상대오차는 평균값 정리를 이용해 예측이 가능합니다. 평균값 정리에 의하면 다음과 같은 조건을 만족하는 c가 A와 a 사이 구간에 존재합니다. 


평균값 정리 : f(A)f(a)Aa=f(c) 


오차가 매우 작을 때, Aa이므로 cA로 근사가 가능합니다.  


f(A)f(a)=f(A)(Aa) 


(Aa)=ARel(a)


Rel(f(a))=f(A)f(a)f(A)=f(A)(Aa)f(A) =f(A)f(A)ARel(a)


Rel(f(a))=(f(A)f(A)A)Rel(a)


Error(f(a))=f(A)Error(a)


마치며

근삿값을 계산할 때는 항상 오차가 어느 정도 범위인지 신경을 써야합니다. 근삿값에 포함된 오차는 계산을 할면 할수록 점점 커집니다. 그 오차가 대략 어느 정도 크기인지 예상하기 위해 위와 같은 방법을 사용할 수 있습니다.