当前位置:网站首页>函数:用牛顿迭代法求方程的根

函数:用牛顿迭代法求方程的根

2022-07-06 09:24:00 |光|

要求

用牛顿迭代法求方程的根。方程为ax3+bx2+cx+d=0,系数由用户输入,求x在1附近的根。
,

代码

#include<math.h>
#define EPSILON 1E-6
/* * 函数f(x)=a*x**3+b*x**2+c*x+d */
double f(double a,double b,double c, double d, double x)
{
    
    double t;
    t=a*x*x*x+b*x*x+c*x+d;
    return t;
}
/* * 函数f(x)=a*x**3+b*x**2+c*x+d的导函数 */
double derivatives(double a,double b,double c, double d, double x)
{
    
    double t;
    t=3*a*x*x+2*b*x+c;
    return t;
}
/* * 在该函数中用迭代法求解方程在1附近的根,可以调用上面的f函数和f的导函数 */
double fun(double a,double b,double c,double d)
{
    
    double x1,x=1;
    do
    {
    
        x1=x;
    x = x1 - f(a,b,c,d,x)/derivatives(a,b,c,d,x);
    }
    while(fabs(x1-x)>=1e-3);
    return x;
 } 


测试

测试输入
10 5 -11 -3.28351

输出
方程在1附近的根为0.97

原网站

版权声明
本文为[|光|]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_62757251/article/details/124678906