二进制表达式的操作数无效(' double(*)(double'和' double')

时间:2015-09-29 13:33:58

标签: c++ numerical newtons-method

我试图弄清楚牛顿的方法来找到方程的根。而这个错误出来了,我无法处理它。

double fn(double n){
    return sin(n)+log(n)-1;
}

double f1n(double n){
    return cos(n)+1/n;
}

double operation(double n){
    n=n-fn/f1n;

    while(fn>0.000001){
        n=n-fn/f1n;
    }

    return n;
}

1 个答案:

答案 0 :(得分:1)

您忘了将n传递给您的函数。

double operation(double n)
{
    n = n - fn(n) / f1n(n);
    while(fn(n) > 0.000001)
    {
        n = n - fn(n) / f1n(n);
    }
    return n;
}