게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
수치해석학 뉴튼법 프로그래밍 어려워요 ㅠㅠ 도움좀
게시물ID : programmer_5864짧은주소 복사하기
작성자 : 니들
추천 : 0
조회수 : 543회
댓글수 : 5개
등록시간 : 2014/10/09 23:05:02
f(x) = x^3-e^x
위 함수식의 근을 뉴튼법을 이용해 구해야되는데 어렵네용
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define e 2.718 // 자연상수 e를 근사값으로 정의
#define f(x) x*x*x-(pow(e,x))
#define fp(x) 3*x*x-x*(pow(e,x-1)) // f'(x)
#define o 0.00001 //분모 0을 방지
main(){
 float x1,x2,d;
 int knt = 0;
 printf("key in x1\n");
 scanf("%f",&x1);
 
 do{
  knt++;
  if(abs(fp(x1)) <= o)
   x1 += 0.001;
  x2=x1-f(x1)/fp(x1);
  d = x1-x2;
  x1=x2;
 }while(fabs(d) > o || fabs(f(x1)) > o);
 printf("\nafter %2d, x1= %7.4f, f(x1)= %6.4f \n",knt,x1,f(x1));
 system("pause");
}
결과에 after에 반복수는 나오는데 x1, f1값이 -1.#IND가 나와요..
올바른 프로그래밍 팁좀 부탁해요 ㅠㅠ
 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호