C牛顿迭代法求根//牛顿迭代法求2*x*x*x-4.5*x*x+3*x-6=0 在(-10,10)之间的根.写出程序.X

luckybears2022-10-04 11:39:541条回答

C牛顿迭代法求根
//牛顿迭代法求2*x*x*x-4.5*x*x+3*x-6=0 在(-10,10)之间的根.写出程序.Xn+1=Xn-f(Xn)/f'(Xn),
#include
#include
float f(float x)
{
return(2*x*x*x-4.5*x*x+3*x-6);
}
float f1(float x)
{
return(6*x*x-9*x-3);
}
void main()
{
float x1=0,x;
do
{
x=x1;
x1=x-f(x)/f1(x);
}
while(fabs(x1)

已提交,审核后显示!提交回复

共1条回复
aaccdd678 共回答了23个问题 | 采纳率95.7%
x=0,f(x)=-6,f1(x)=-3,x1=-2,
x=-2,f(x)=-46,f1(x)=39,f(x)/f1(x)=-1.179
因此,在第一次循环是就会跳出.把fabs(f(x)/f1(x))>1e-5改成fabs(f(x)/f1(x))
1年前

相关推荐

大家在问