2019년 2월 3일 일요일

#1 이분법

#1 이분법
#1 이분법.hwp


본문
소스코드
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float eval_f(float x); // 함수 f(x)
void main()

float xl, xm, xh, c, e; // 작은값, 중간값, 큰값, 상수값(0이 아닌 임의의 근), 오차
int i = 0;
printf( \n );
printf( \n함수 f(x)와 비교할 임의의 근 입력 : ); // 임의의 근 입력받기
scanf( %f , &c);
printf( 함수 y = pow(2, x) 와 y = %f의 근 찾기\n , c);
printf( \n );
printf( \nType left bound of the interval : ); // 왼쪽 경계값 입력받기
scanf( %f , &xl);
printf( \nType right bound of the interval : ); // 오른쪽 경계값 입력받기
scanf( %f , &xh);
printf( \nType acceptible error interval : ); // 오차허용값 입력받기
scanf( %f , &e);
printf( \n );
do
xm = (xl + xh)/2.0;
printf( %3dth Interation Root : %f <with error %f> \n , ++i, xm, (xh-xl)/2.0);
if(eval_f(xm) c) // 근이 0 이 아니므로 c와 비교
break;
else if((eval_f(xl)-c) * (eval_f(xm)-c) < 0 )
xh = xm;
else if((eval_f(xh)-c) * (eval_f(xm)-c) < 0 )
xl = xm;
else
printf( \nSomething Wrong ! \n );
break;

while ( xh - xl > e);

float eval_f(float x) // 함수 f(x) 정의

float y;
y = pow(2, x);
return(y);

실행화면 1
- y = 2x 와 y = 4 의 근, 오차값 0.00001
실행화면 2
- y = 2x 와 y = 3.6 의 근, 오차값 0.0001

하고 싶은 말
좀 더 업그레이드하여 자료를 보완하여,
과제물을 꼼꼼하게 정성을 들어 작성했습니다.

위 자료 요약정리 잘되어 있으니 잘 참고하시어
학업에 나날이 발전이 있기를 기원합니다 ^^
구입자 분의 앞날에 항상 무궁한 발전과 행복과 행운이 깃들기를 홧팅

키워드
함수, 경계값, 비교, n함수, 왼쪽, 실행

댓글 없음:

댓글 쓰기