牛顿在C错误中的方法 - 总是相同的根

时间:2016-03-09 21:39:22

标签: c newtons-method

这是我的代码:

void Newton(double a,double b,double eps, double (*func)(double,double))
{
    double root;
    double x,y;
    x=a; y=b; root=y-func(y,0.5)/((func(y,0.5)-func(x,0.5))/(y-x));
    double i;
    int n=(15-0.5)*10+1;
    for(i=0;i<n;i++)
    {
        while(fabs(y-x)>eps)
        {
            x=y;
            y=root;
            root=y-func(y,((double)i/10+0.6))/((func(y,((double)i/10+0.6))-func(x,((double)i/10+0.6)))/(y-x));
        }
        printf("The root computed by the Newton's method for w=%lf is %lf\n",((double)i/10+0.5),root);
    }
}

只有函数计算和打印根是由牛顿方法计算的某个任意方程式,在函数'func'中说明。打印结果始终相同。只要等式中的因子发生变化,它就应该有所不同。我的功能是cos(x)-w*t,其中w是数字{0.5,0.6,...,15.0}ab是我搜索根的初始参数,eps是一些任意小的数字,这就是准确度。

0 个答案:

没有答案