guitar-player

taylor2.cpp

May 31st, 2012
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. // programa que aproxima el seno por serie de taylor
  2. // por Luis Mex
  3. #include <iostream>
  4. #include <cmath>
  5. #include <iomanip>
  6.  
  7. using namespace std;
  8.  
  9. long double factorial(int n){
  10.     long double fact=1.0;
  11.     for (int i=1; i<=n ; i++){
  12.         fact=fact*i;
  13.     }
  14.     return fact;
  15. }
  16.  
  17. long double sen_eval(int n,long double x){
  18.     long double eval=0.0;
  19.     for (int i=0 ; i <=n ; i++){
  20.         eval=eval+pow(-1.0,i)*pow(x,(2*i+1.0))/(factorial(2*i+1));
  21.     }
  22.    
  23.     return eval;
  24. }
  25. int main()
  26. {
  27.     const long double angle=30;
  28.     const long double pi=3.141592654;
  29.     const long double rad=pi/180.0;
  30.     const long double sen_test=sin(angle*rad);
  31.     const long double prec=1e-18;
  32.     int i=0;
  33.     while (abs(sen_test-sen_eval(i,angle*rad)) >=prec ){
  34.     //  cout << abs(sen_test-sen_eval(i,30*rad)) << endl;
  35.         if (i > 5000) break;
  36.         i++;
  37.     }
  38.     cout << "el numero de terminos son: " << i <<" precision : "<<prec << endl;
  39.     cout <<setw(17)<<fixed <<setprecision(19)<< sin(angle*rad) << " "<< sen_eval(i,angle*rad) << endl ;
  40.     return 0;
  41. }
Add Comment
Please, Sign In to add comment