반올림오차
-
3. 머신입실론과 반올림오차수치해석 with MATLAB 2019. 11. 2. 14:02
머신입실론 (Machine Epsilon) 배정도를 사용하는 MATLAB에서 수의 범위는 정수 범위: -2,147,483,648 ~ +2,147,483,647 실수 범위: 2.225 x 10^-308 (realmin) ~ 1.797x10^308 (realmax) 컴퓨터에서 실수는 연속적으로 표현할 수 없다는 한계를 가지고 있다. 따라서 수와 수 사이에는 어떤 간격이 있는데, 그것을 머신 입실론이라고 한다. 머신입실론 (ε, eps) : 1과 1바로 그 위 실수 사이의 간격 MATLAB에서 1 eps = 2.22x10^-16 이다. 어떤 실수 R과 그 다음 큰 수 사이의 간격은 R * eps 로 구하면 된다. 예를 들어 realmax와 그 바로 아래 실수 값 사이의 간격은 realmax * eps = 3...
-
2. 반올림 오차와 절단 오차 (feat. 진법, bit, byte, 정확도, 정밀도)수치해석 with MATLAB 2019. 10. 29. 20:40
1. 진법에 대하여 진법은 초등학생,, 혹은 중학생(?) 때 배운 개념이다. (그래도 복습하는 겸으로 다시 기억을 더듬어 보았다.) 2진법, 10진법이 대표적이다. 컴퓨터 내의 기억장치(주로 RAM)에서는 on/off (1과 0)의 2진법을 사용한다. 하지만 인간은 10진법을 사용하기 때문에 따라서 상호 변환이 필요하다. 2진법과 10진법은 밑수를 통해 표현하는데, 이진법의 경우는 (1001.11)₂ 이런식으로 표현하며, 우리가 사용하는 10진법의 경우에 밑수는 보통 생략한다. (abcd.ef)r 이라는 r진법의 수가 있을 때 이를 10진법으로 변환하는 방법은 다음과 같은 식으로 계산 할 수 있다. 예를 들어, (1001.11)₂ 이 수를 10진법으로 변환시켜 보면 다음과 같은 결과가 나온다. 2. bi..