함수의 극대값 찾는 것에 관해서.. 질문이요
소윤
2023.04.01
함수의 극대값 찾는 것에 관한 질문이요. 이분법 알고리즘을 이용해 극대값 찾는 프로그램에 관한 오류?질문 내용 : 이분법 알고리즘을 이용해서 극대값 찾는 프로그램을 만들었는데요..
계수를 1~9사이와 대략 십단위로 하면 극대값들이 발산하거나, 값이 나오는데..
계수를 100단위로 하면 극대값이 안나옵니다..... 대강 아래처럼 만들었어요..
100x-100 을 할 경우 극대값 못찾고.. x-1은 값이 나옵니다.. 왜 그런걸까요?? 100단위로 해도 극대값 찾는 방법이 있나요?while(s e1 && i1000) {//이분법 극대값 구하기+++
i++;
xm = xl + s;
xr = xm + s;
if((f(xm) f(xl)) && f(xm) f(xr))
s = s / 2.0; // a half
else
xl = xm;// shift by s
//if(f(xm) 10000 || f(xm) -10000)
//break;
}
if(f(xm) 10000 || f(xm) -10000)
printf(이분법(극대값) extreme value=error\n);
else
printf(이분법(극대값) [%02d]: the max is (%.8f) (when x=(%.8f)) with error %.8f\n,i++, f(xm), xm, s);