/**********************************/

/*      Numerical Analysis Homework #2     */

/*      Department of Computer Science     */

/*      2003721181, Lee Seong woo          */

/**********************************/

#include <stdio.h>

#include <math.h>


#define CAPACITY 10


double func(double p);


int main(void)

{

        double p[CAPACITY];

        int i = 1;

        double tolerance = 0.0005;   // Tolerance - 오차 한계 값

        p[0] = 1.0; p[1] = 2.0;


        printf("-------------------------------------n");

        printf("n            pn              f(pn)   n");

        printf("-------------------------------------n");


        // p[i] 값과값 차이의 절대값이 Tolerance보다 작을 때 프로그램 종료

        while(fabs(p[i] - p[i - 1]) >= tolerance)

        {

                i++;

                p[i] = p[i-1] - (func(p[i-1]) * (p[i-1] - p[i-2])) / (func(p[i-1]) - func(p[i-2]));

                printf("%dt%.10ft%.10fn", i, p[i], func(p[i]));

        }

        printf("-------------------------------------n");


        return 0;

}


// 해를 구하기 위한 함수

double func(double p)

{

        return pow(p, 3) + 4 * pow(p, 2) - 10;

}


----
2007/09/20 - [놀이] - [과제] Numerical Analysis - C로 구현한 Bisection Method

  1. Favicon of http://emulboy.ivyro.net BlogIcon EmulBoy 2007.09.20 22:39

    뭐지 이건.... 무슨놀이인가???

  2. Favicon of http://www.ohyung.net BlogIcon Ohyung 2007.09.21 01:23

    아... 막 하악하악 하군요 !!!

  3. Favicon of https://beausty23.tistory.com BlogIcon 체봄 2020.10.01 15:45 신고

    안녕하세요 선배님 저는 지나가던 광운대학교 17학번 학생입니다! 컴소 수치해석 과목을 듣는데 종료조건을 모르겠어서 검색해보던 중 무려 13년전에 쓰신 이 포스팅을 보고 해결할 수 있었습니다! 감사합니다:)

+ Recent posts