2011年10月28日 星期五

C 泰勒展開式練習

#include <stdio.h>
#include <stdlib.h>
double myexp(double x);

int main()
{
   double x;
   printf("         x     myexp(x)       exp(x)\n");
   for(x=0;x<=40;x=x+10)
       printf("%5.1f%14.6g%14.6g\n",x,myexp(x),exp(x));  
       
  system("pause");   
}

double myexp(double x)
{
    double EPS = 1e-08;
    double s = 1.0,e=1.0,d=1.0;
    int k ;
    for(k=1;k<=200;k++)
    {
        d=s;
        e=e*x/k;
        s=s+e;
          if(fabs(s-d)<EPS*fabs(d))
            return s;                 
    }       
    return 0.0;  
}






                                   

沒有留言:

張貼留言