Aller au contenu

Mathc initiation/Fichiers c : c71c02

Un livre de Wikilivres.


Sommaire


Installer et compiler ces fichiers dans votre répertoire de travail.

c01b.c
/* ---------------------------------- */
/* save as c1b.c                      */
/* ---------------------------------- */
#include "x_hfile.h"
#include      "fb.h"
/* ---------------------------------- */
int main(void)
{
int      n =  2*50;
double   a =  0.;
double   b =  1.;

 clrscrn();

 printf(" With the Simpson's rule.    (n = %d)\n\n"
        "    (%.3f\n"
        " int(      (%s) * dx = %.6f\n"
        "    (%.3f\n\n\n\n",n,  b, feq, simpson(f,a,b,n), a);

 printf(" With the antiderivative of f.\n\n"
        " F(x) = %s \n\n\n" 
        " F(%.3f) -  F(%.3f)  = %.6f \n\n\n", Feq, b,a, F(b)-F(a));
 
 stop();

 return 0;
}
/* ---------------------------------- */


Calculons l'intégrale avec la fonction  simpson(f,a,b,n); puis avec sa primitive F(x).


Exemple de sortie écran :
 With the Simpson's rule.    (n = 100)

    (1.000
 int(      (atan(x)) * dx = 0.438825
    (0.000



 With the antiderivative of f.

 F(x) = atan(x) * x - 1/2 * log(1 + x**2) 


 F(1.000) -  F(0.000)  = 0.438825 


 Press return to continue.



Calculons la primitive :
                            /
Calculer la primitive de   | atan(x) dx 
                          /
       
       Utilisons l'intégration par partie
       
        u = ...    dv = ...
       du = ...     v = ...
       
        /              /
       | u dv = u v - | v du
       /              /
       
       Nous savons que la dérivé de atan(x) est 1/(1+x**2).
       Nous ne connaissons pas sa primitive. 
       Nous allons multiplier atan(x) par 1. 
       Nous allons poser que u = atan(x) et dv = 1 dx.
       
       
        /               
       | (atan(x)*1)  dx = 
       /               
       

        u = atan(x)         dv = 1 dx
       du = 1/(1+x**2) dx    v = x   
       
        /                          (u*v)    / (v               du)
       | (atan(x)*1) dx    = atan(x) * x - | ( x * 1/(1+x**2)) dx      
       /                                   /                          
                     _____________________                                                                                
                    |        k = (1+x**2) |
                    |       dk =  2*x dx  |
                    | (1/2) dk =    x dx  |  
                    |_____________________|
                                     
       /                           /
       | atan(x) dx = atan(x) x - | (1/(1+x**2)) (x dx)      
       /                          /                            
                                                                                                                                    
            
        /                                 /
       |  atan(x) dx = atan(x) x - (1/2) | (1/k) dk
       /                                 /
       

        /                               
       |  atan(x) dx = atan(x) x - (1/2) ln|k| + c
       /                               

        /                               
       |  atan(x) dx = atan(x) x - (1/2) ln|1+x**2| + c
       /