用二分法求方程(x+1)(x-2)(x-3)=1在区间(-1,0)的近似解(精确度0.1)为什么在球二分法的时候要先看看是单调增还是减呢?
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/03 10:24:54
![用二分法求方程(x+1)(x-2)(x-3)=1在区间(-1,0)的近似解(精确度0.1)为什么在球二分法的时候要先看看是单调增还是减呢?](/uploads/image/z/1785323-11-3.jpg?t=%E7%94%A8%E4%BA%8C%E5%88%86%E6%B3%95%E6%B1%82%E6%96%B9%E7%A8%8B%EF%BC%88x%2B1%29%28x-2%29%28x-3%29%3D1%E5%9C%A8%E5%8C%BA%E9%97%B4%EF%BC%88-1%2C0%EF%BC%89%E7%9A%84%E8%BF%91%E4%BC%BC%E8%A7%A3%28%E7%B2%BE%E7%A1%AE%E5%BA%A60.1%EF%BC%89%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8%E7%90%83%E4%BA%8C%E5%88%86%E6%B3%95%E7%9A%84%E6%97%B6%E5%80%99%E8%A6%81%E5%85%88%E7%9C%8B%E7%9C%8B%E6%98%AF%E5%8D%95%E8%B0%83%E5%A2%9E%E8%BF%98%E6%98%AF%E5%87%8F%E5%91%A2%3F)
用二分法求方程(x+1)(x-2)(x-3)=1在区间(-1,0)的近似解(精确度0.1)为什么在球二分法的时候要先看看是单调增还是减呢?
用二分法求方程(x+1)(x-2)(x-3)=1在区间(-1,0)的近似解(精确度0.1)
为什么在球二分法的时候要先看看是单调增还是减呢?
用二分法求方程(x+1)(x-2)(x-3)=1在区间(-1,0)的近似解(精确度0.1)为什么在球二分法的时候要先看看是单调增还是减呢?
#include
#include
float f(float x)
{
float y;
y=(x+1)*(x-2)*(x-3)-1;
return(y);
}
float xpoint(float x1,float x2)
{
float y;
y=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));//求 x轴点 交点坐标
return(y);
}
float root(float x1,float x2)
{
float x,y,y1;
y1=f(x1);
do
{
x=xpoint(x1,x2);
y=f(x);
if(y*y1>0)
{
y1=y;
x1=x;
}
else x2=x;
}
while(fabs(y)>=1e-1);
return(x);
}
void main(){
float x1,x2,f1,f2,x;
do
{
printf("请输入方程解得范围x1,x2(注意中间用逗号隔开):\n");
scanf("%f,%f",&x1,&x2);
f1=f(x1);
f2=f(x2);
}
while(f1*f2>=0);
x=root(x1,x2);
printf("A root of equation is %.1f\n",x);
}
判断单调是为了保证在某一个区间只有唯一解.