Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  PnvvAufgabe2
Language: C/C++
Code:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

     //Sinus als Funktion

      double ableitung (double x)
     {
      double sin;

      sin = -x + pow(x, 3)/6 - pow(x, 5)/120 + pow(x, 7)/5040 - pow(x, 9)/362880 + pow(x, 11)/39916800;

      return sin;
     }
          
     //Cosinus als Funktion

     double funktion (double x)
     {
     double cos;

     cos = 1 - pow(x, 2)/2 + pow(x, 4)/24 - pow(x, 6)/720 + pow(x, 8)/40320 - pow(x,10)/3628800 + pow(x,12)/479001600;
     
     return cos;
     }

//Hauptprogramm

int main()
{


     long int n=100;
     double f;
     double ende = pow(10, -13.0);  //Bedeutung: 10hoch(-13)
     double x0, x = 0.406; // Besserer Wert
     
     do
     {
     

     //da im Nenner niemals 0 sein darf wird hier überprüft
     if(ableitung(x)!=0)
      {

          x0 = x - (funktion(x) / ableitung(x));

          x = x0;

          printf("Zwischenergebnis: %.12e \n", x0);
       printf(" \n");
       n--;
      }
          //Absolutbetrag fabs für Fließkommazahlen 
      
     } while (fabs(funktion(x0)) > ende ||n<=0);

     
       printf("Nullstele: %.12e\n",x0);

       f = funktion(x0);

       printf("f(%.12e)= %.12e \n",x0,f);


       // Das selbe für den schlechteren Wert
       /*     double x0, x = 0.404;
     
       do

       {

           x0 = x - (funktion(x) / ableitung(x));

           x = x0;
           
       } while (fabs(funktion(x0)) > ende);
     
         printf("Nullstele: %.12 \n",x0);

         f = funktion(x0);

         printf("f(%f)= %fn",x0,f);
         */


     //Ausgabe von Pi
          double pi = 4.0*atan(1.0);

          printf("pi=4.0*atan(1.0) = %.12e \n ", pi);

          double pi_berechnet = 2*x0;

          printf("2*Nullstelle Berechnetes pi: %.12e \n ", pi_berechnet);

          double dif = pi_berechnet - pi;

          printf(" \n ");

          printf("Differenz aus Pi und der Berechneten Nullstelle*2 : %.12e \n ",dif);


          system("PAUSE");

          return 0;
}               
Comments: