C++编程 用牛顿迭代法求方程:3x3+2x2-8x-5=0,在x=1.5附近的根。

2025-01-10 13:05:22
推荐回答(2个)
回答1:

a 没有判断条件 a>10e-6 如果a起初大于10e-6则 一只循环
while(a>10e-6)
{
x0=x1;
cout< f=3*x0*x0*x0+2*x0*x0-8*x0-5;
f1=9*x0*x0+4*x0-8;
x1=x0-f/f1;
a=fabs(x0-x1);// 加一下;(虽然不知道在做什么。。)
}

cout.precision(15);//考虑你的值很大 最好输出多点
cout<

回答2:

你没有重新计算你定义的 a
循环最后加一条语句
while(a>10e-6)
{
.........
..........
a=fabs(x0-x1);
}