본문 바로가기
수업/수치계산

[수치계산] 오차&비선형 방정식의 해 - 연습문제

by graygreat 2017. 6. 10.
728x90
반응형



Newton - Raphson 법


#include <stdio.h>
#include <math.h>
#define THRESHOLD 0.000001

double f(double x) {
    double ret = 0;
    ret = (x*x) - x - 1;
    return ret;
}

double f2(double x) {
    double ret = 0;
    ret = (2 * x) - 1;
    return ret;
}

int main() {
    double x1 = 5, x2 = 0;
    int i = 1;

    printf("i \t x \t\t f(x) \n");
    printf("%d \t %f \t %f \n", i, x1, f(x1));
    while (1) {
        i++;
        x2 = x1 - (f(x1) / f2(x1));
        printf("%d \t %f \t %f \n", i, x2, f(x2));
        if (THRESHOLD > fabs(f(x2)))    break;
        x1 = x2;
    }

return 0;

}


반응형

댓글