您的位置:首页 > 编程语言 > C语言/C++

用C语言编写如下程序:牛顿法求方程f(x)=x^3-x-1=0在x0=1.5附近的实根,精确到6位小数。

2018-03-26 10:28 633 查看

用C语言编写如下程序:牛顿法求方程f(x)=x^3-x-1=0在x0=1.5附近的实根,精确到6位小数。

#include<stdio.h>
#include<math.h>
float Function(float x){//原函数的值
return (x*x*x-x-1);
}
float Differential(float x){//一阶导函数的值
return (3*x*x-1);
}
void main(){
float result=1.5,a;
int i=0;
for(;;)
{
a=result;
result=result-Function(result)/Differential(result); //牛顿计算法。
printf("%f\n",result);//将每个结果都输出来
//判断小数点后6位的值是否相等,当出现4次都相等时输出该值。
if(fabs(a)==fabs(result))
{
i++;
if(i>2) break;
}
}
printf("最后的结果为%f\n",result);
}




如若有可以改进的地方,欢迎各位大佬提出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐