在定点方法中,我需要在我的代码中提供建议

时间:2017-05-11 16:08:52

标签: c fixed-point

我只是试图在定点方法中找到函数f(x)= x ^ 3-5的根(xr),但代码现在正在工作,我找不到代码中的错误。< / p> 我使用了这个等式。 f(x)= 0 =&gt; g(x)= x =&gt; g(x)= f(x)+ x并且我将常数c放在f(x)的前面,因此最终的等式是g(x)= c * f(x)+ x。实际上这是我的任务所以我必须把c放在等式中。谢谢你的

#include<stdio.h>
#include<math.h>

long double g(double x, double c)
{
    return (x + c*(x*x*x - 5));
}



void Simple_Fixed_Point(double x, double c)   
{
    int i;
    int imax = 100;
    long double xnew;
    long double ea;
    long double es = pow(10, -6);

    printf("Simple Fixed Point Method\n");

    for (i = 1; i <= imax; i++)
    {
        xnew = g(x,c);


        ea = fabs((xnew - x) / xnew * 100);

        printf("iteration=%d Root(x)=%.10f Approximate error=%.15f\n", i, xnew, ea);
        if (ea < es)
        {
            break;
        }

        x = xnew;
    }
}


int main(void)
{
    Simple_Fixed_Point(1.0,1.0);
    return 0;
}

0 个答案:

没有答案