Mathc initiation/Fichiers c : c40cae


Sommaire


En mathématiques, une surface de révolution est une surface de ℝ³, invariante par rotation autour d'un axe fixe. Une surface balayée par la rotation d'une courbe quelconque autour d'un axe fixe est une surface de révolution. [wikipedia]


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

c05ae.c
/* ---------------------------------- */
/* save as c05ae.c                    */
/* ---------------------------------- */
#include "x_hfile.h"
#include     "fae.h"
/* ---------------------------------- */
int main(void)
{
double    a =   1.;
double    b =   4.;
double    n = 2*10;

 printf(" Let f be smooth on [%.3f,%.3f] and f(x) >0.\n\n", a, b);
 printf("  f : x-> %s\n", feq);
 printf(" Df : I use the function fx_x(); instead of the equation Dfeq\n\n");
 printf(" a = %.2f;\n b = %.2f;\n\n", a,b); 

 printf(" The area S of the surface generated by revolving\n");
 printf(" the graph of f about the x-axis is :\n\n");

 printf("    (b\n"
        " int(  2 Pi f(x) ds =  with ds = sqrt( 1 + Df(x)**2 ) dx\n"
        "    (a\n\n\n");
        
 printf("    (b\n"
        " int(  2 Pi f(x) sqrt( 1 + Df(x)**2 )* dx = %.2f\n"
        "    (a\n\n\n", simpson(SurfaceArea,a,b,n));

  stop();

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

Dans cet exemple, nous allons utiliser la fonction fx_x() au lieu de l'équation pour calculer la dérivé de f :

Résultat dans gnuplot
The area S of the surface generated by revolving the graph of f about the x-axis


Exemple de sortie écran :

 Let f be smooth on [1.000,4.000] and f(x) >0.

  f : x-> x**(1./2.)
 Df : I use the function fx_x(); instead of the equation Dfeq

 a = 1.00;
 b = 4.00;

 The area S of the surface generated by revolving
 the graph of f about the x-axis is :

    (b
 int(  2 Pi f(x) ds =  with ds = sqrt( 1 + Df(x)**2 ) dx
    (a


    (b
 int(  2 Pi f(x) sqrt( 1 + Df(x)**2 )* dx = 30.85
    (a


 Press return to continue.
Vérifier le résultat avec Octave 5.2 :

I = quad (f, a, b) 
>> I = quad (@(x) 2*pi*sqrt(x).*(sqrt(1+(1/(2*(sqrt(x)))*1/(2*(sqrt(x)))))),1,4)
I =  30.846