C++用二分法求方程x3-x-1=0在[1.0,1.5]区间的近似根。
。要求误差小于1e-5。提示:(1)先取方程f(x)的两个粗略解x1=1.0和x2=1.5;(2)f(x1)与f(x2)的符号相反,则方程f(x)=0在[x1,x2]区间...
。要求误差小于1e-5。
提示:
(1)先取方程f(x)的两个粗略解x1=1.0和x2=1.5;
(2)f(x1)与f(x2)的符号相反,则方程f(x)=0在[x1,x2]区间至少有一个根;
(3)取x3=( x1+ x2)/2,如果f(x3)=0,则x3就是方程的解;否则,在x1和x2中舍去和f(x3)同号者,根就在x3和另外那个没有舍去的粗略解组成的区间里;
(4)重复(3),如此反复取舍,直到xn与xn-1之差满足要求的误差时,xn便是方程f(x)的近似根。 展开
提示:
(1)先取方程f(x)的两个粗略解x1=1.0和x2=1.5;
(2)f(x1)与f(x2)的符号相反,则方程f(x)=0在[x1,x2]区间至少有一个根;
(3)取x3=( x1+ x2)/2,如果f(x3)=0,则x3就是方程的解;否则,在x1和x2中舍去和f(x3)同号者,根就在x3和另外那个没有舍去的粗略解组成的区间里;
(4)重复(3),如此反复取舍,直到xn与xn-1之差满足要求的误差时,xn便是方程f(x)的近似根。 展开
3个回答
展开全部
#include <iostream>
using namespace std;
double f(double x)
{
return x*x*x - x - 1;
}
int main()
{
double left = 1;
double right = 1.5;
double mid;
while(right-left > 1e-5)
{
mid = (left + right) / 2;
if(f(mid)==0)
break;
if(f(mid)*f(left)>0)
left = mid;
else
right = mid;
}
cout << mid << endl;
system("pausE");
}
using namespace std;
double f(double x)
{
return x*x*x - x - 1;
}
int main()
{
double left = 1;
double right = 1.5;
double mid;
while(right-left > 1e-5)
{
mid = (left + right) / 2;
if(f(mid)==0)
break;
if(f(mid)*f(left)>0)
left = mid;
else
right = mid;
}
cout << mid << endl;
system("pausE");
}
东莞大凡
2024-08-07 广告
2024-08-07 广告
在东莞市大凡光学科技有限公司,我们利用Halcon软件处理机器视觉项目时,会用到自定义标定板以满足特定需求。Halcon支持用户根据实际应用场景自定义标定板形状与标记点。这不仅可以灵活应对不同工作环境,还能提高标定精度。通过调整圆点数量、间...
点击进入详情页
本回答由东莞大凡提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询