用二分法求方程(x+1)(x-2)(x-3)=1在区间(-1,0)的近似解(精确度0.1)

来源:百度知道 编辑:UC知道 时间:2024/05/16 17:41:06
为什么在球二分法的时候要先看看是单调增还是减呢?

#include<stdio.h>
#include<math.h>
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);
}
判断单调是为了保证在某一个区间只有唯一解。

借助计算器或计算机,用二分法求方程2x^3-4x^2-3x+1=0的最大的根(精确度0.01)。 采用二分法求方程x^3-x^4+4*X^2-1=0 在[0,1]内的一个实根的程序代码 用二分法解方程,求在[-10,10]之间的解 2*x^3-4*x^2+3*x-6=0用c++该如何编写? f(x)=x的立方-2x-1用二分法求f(x) .在[1,2]的零点取区间中点x1=1.5 C++ 二分法求x*x-2在【1,2】区间的根 借助计算机,用二分法求函数f(x)=lgx和g(X)=1/x交点的横坐标(精确度0.1) 用二分法求方程x3+1.1x2+0.9x-1.4=0的是根的近似解,使误差不超过0.01。 用二分法求方程 2x^3-4x^2+3x=0 在(-10,10)附近的根 请给详细程序 我是新手 一点都不知道 二分法求(X+1)(X-2)(X-3)=1在区间(-1,0)内的近似值 二分法编程求X*X*X-X-2=0的=根