C牛顿迭代法求根

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)
其他人气:884 ℃时间:2020-02-05 19:50:32
优质解答
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))
我来回答
类似推荐
请使用1024x768 IE6.0或更高版本浏览器浏览本站点,以保证最佳阅读效果。本页提供作业小助手,一起搜作业以及作业好帮手最新版!
版权所有 CopyRight © 2012-2024 作业小助手 All Rights Reserved. 手机版