天天看點

用疊代法求非線性方程的實根

用疊代法求非線性方程的實根

用疊代法求方程f(x)=e^(-x)-x+1=0的根
#include <stdio.h>
#include <math.h>
float f(float a);
float fa(float a);
void main()
{
 float x0,x1,e;
 printf("請分别輸入疊代初始值,精确度\n");
 scanf("%f%f",&x0,&e);
 for(;;)
 {
  x1=f(x0);
  if(fabs(x1-x0)<e)
  {
   printf("x0=%f,x1=%f\n",x0,x1);
   break;
  }
  else 
  {
   printf("x0=%f,x1=%f\n",x0,x1);
   x0=x1;
  }
 }
 printf("符合精度的根為:%f",x1);
}
float fa(float a)//原方程
{
 float x=float(exp(-a)-a+1);
 return x;
}
float f(float a)//疊代公式
{
 float x=float(exp(-a)+1);
 return x;
}
           
用疊代法求非線性方程的實根

繼續閱讀