用二分法求方程x3-6x-1=0在x=2附近的一个实根,要求迭代精度为10的-6次方
程序员文章站
2024-02-02 15:24:46
...
标题IDE:codeblocks
标题日期:2019/11/29
标题功能:迭代法求方程在某一点附近的实根
用二分法求方程x3-6x-1=0在x=2附近的一个实根,要求迭代精度为10的-6次方
#include <iostream>
#include <cstring>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
double x1=2,x2=2,x;
double y1=-5,y2=-5,y;
while(y2<0)
{
x2=x2+0.1;
y2=x2*x2*x2-6*x2-1;
}
cout<<"选用x1,x2分别为"<<x1<<','<<x2<<endl;
do
{
x=(x1+x2)/2;
y=x*x*x-6*x-1;
cout<<x1<<','<<y1<<endl;
cout<<x2<<','<<y2<<endl;
cout<<x<<','<<y<<endl;
cout<<"-------------------------"<<endl;
if(y2*y<0)
{
x1=x;
y1=y;
}
if(y1*y<0)
{
x2=x;
y2=y;
}
}while(fabs(x2-x1)>1e-8&&fabs(y)>1e-8);
cout<<setprecision(10)<<x<<','<<y;
return 0;
}
上一篇: 为SurfaceView设置圆角方式
下一篇: 微机实验记录