2分法を使ってf(x)=0の解を求めるプログラムについて、間違っている箇所がわからないので訂正お願いします。
Posted: 2016年6月23日(木) 21:06
不適切箇所の改善よろしくお願いします。
#include <stdio.h>
int main()
{
double eps=0.00001;
printf("%lf %lf\n",(-2,0,eps),(0,2,eps));
double f(double x)
{
return x*x*x-4x*x+x+12;
}
double (double x1,double x2,double eps)
{
double x;
while(x2-x1>=eps)
{
x=(x1+x2)/2.0;
if(f(x1)*f(x)>0.0)
{
x1=x;
}
else
{
x2=x;
}
}
return (x1+x2)/2.0
}
#include <stdio.h>
int main()
{
double eps=0.00001;
printf("%lf %lf\n",(-2,0,eps),(0,2,eps));
double f(double x)
{
return x*x*x-4x*x+x+12;
}
double (double x1,double x2,double eps)
{
double x;
while(x2-x1>=eps)
{
x=(x1+x2)/2.0;
if(f(x1)*f(x)>0.0)
{
x1=x;
}
else
{
x2=x;
}
}
return (x1+x2)/2.0
}