c++:用二分法求方程x2-x-2=0在[0,3]间的解,要求精度不超过10的-5次方。

只学过#include<iostream.h>voidmain()c++学到流程控制语句。算法提示:先取二元方程f(x)的两个初略解x1和x2,若f(x1)与f(x2)的... 只学过
#include<iostream.h>
void main()
c++学到流程控制语句。
算法提示:先取二元方程f(x)的两个初略解x1和x2,若f(x1)与f(x2)的符号相反,则方程f(x)=0在[x1,x2]区间至少有一个根;若f(x)在[x1,x2]区间单调,则至少有一个实根;所以取x3=(x1+x2)/2,并在x1和x2中舍去和f(x3)同号者,那么解就在x3和另外那个没有舍去的初略解组成的区间里;如此反复取舍,直到xn与xn-1之差满足要求时,那么xn便是方程f(x)的近似根。
展开
 我来答
匿名用户
推荐于2016-12-01
展开全部

int main() {
double x1=0,x2=3;
double x = (x1 + x2) / 2;
double e=1e-5;

if (fabs(x*x-x-2) < e)    //  x2-x-2 = 0;
printf("x=%f\n", x);
else{
while (fabs(x2-x1) > e){
x = (x1 + x2) / 2;
if (fabs(x*x-x-2) < e){
x1=x;
break;
}
if ((x*x-x-2)*(x1*x1-x1-2) < 0)
x2 = x;
else
x1 = x;
}
printf("x=%f\n", x1);
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式