我只是试图在定点方法中找到函数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;
}