본문 바로가기
반응형

수업/수치계산17

[수치계산] 오차&비선형 방정식의 해 - 고정점 반복법 고정점 반복법 (fixed - point iteration) ● 수렴? 발산? - 고정점 반복법은 초기값의 선택에 발산할 수도 있음을 주의! #include #include #define THRESHOLD 0.000001 double g(double x) { double ret = 0; ret = exp(-x); return ret; } void main() { double x = 0; double x2 = 0; int i = 1; printf("i \t xi \t\t g(x3) \n"); printf("%d \t %f \t %f \n", i, x, g(x)); while (1) { x2 = g(x); i++; if (THRESHOLD > fabs(x - g(x))) break; printf("%d \t.. 2017. 6. 9.
[수치계산] 오차&비선형 방정식의 해 - 가위치법 가위치법 (regula false method) ● 이분법의 수렴 속도를 개선 ● f(x1)과 f(x2)를 직선으로 연결시켜 이 직선과 x축이 만나는 점이 x3 1. if f(x1) * f(x3) < 0, x2 = x3 2. esle x1 = x3 #include #include #define THRESHOLD 0.000001 double f(double x) { double ret = 0; ret = x - exp(-x); return ret; } int main() { double x1 = 0; double x2 = 1; double x3 = 0; int i = 1; printf("i \t x1 \t\t x2 \t\t x3 \t\t f(x3) \n"); while (1) { x3 = x2 - ((f(.. 2017. 6. 9.
[수치계산] 오차&비선형 방정식의 해 - 이분법 이분법 (bisection method) ● 중간값 정리 - 함수 f(x)가 구간 (x1, x2)에서 연속이고, f(x1)과 f(x2)의 부호가 서로 반대이면 x1, x2사이에 적어도 한 개의 근이 존재함 ● 이진탐색 (binary search)와 유사 ● 계산 방법 1. x3 = (x1 + x2) / 22. if f(x1) * f(x3) < 0,, x2 = x33. else x1 = x34. 1번 반복 Tip. Used APIs- double exp(double x) : e - double fabs(double x) : 절대값 #include #include #define THRESHOLD 0.00001 double f(double x) { double ret = 0; ret = x - exp(-x);.. 2017. 6. 9.
[수치계산] 오차&비선형 방정식의 해 - 2 비선형 방정식의 해 ● 접근 방법 ○ 그래프 그리기 ○ 시행착오법 (trial and error) ○ 구간법 - 근을 포함하고 있는 구간의 양 끝을 초기값으로 해서 값을 구하는 방식 - 이분법 - 가위치법 ○ 개방법 - 한 개 이상의 임의의 초기값을 이용해서 값을 구하는 방식 - 고정점 반복법 - Newtom-Raphson법 - 할선법 2017. 6. 9.
[수치계산] 오차&비선형 방정식의 해 - 1 ● 반올림 오차 (rounding-off error) ○ 무리수 반올림 ○ 유리수의 반올림 ○ 컴퓨터 표현상의 오차- overflow- underflow 많은 수의 연산을 수행할 때 각 연산의 반올림 오차는 작을 수 있다.하지만, 많은 계산 과정을 통해 누적된 오차는 클 수도 있다. ● 절단 오차 (truncation error)○ Taylor series - 미분 가능한 임의의 함수를 다항식 형태의 근사식으로 표현하는 방법 ○Taylor series의 절단 오차 - Taylor series의 처음 n개의 항만으로 근사화하는 경우 원 함수와의 오차 - 1차 근사식 - 2차 근사식 ● 오차의 정확도 ○ 절대 오차(absolute error) ○ 상대 오차(relative error) ○ 오차의 한계 - 특.. 2017. 6. 9.
반응형