Mathc initiation/Fichiers c : c44cb


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.

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

double    h =    H;

 clrscrn();
 printf(" Let f be smooth on [%.3f,%.3f] and f(x) >0.\n\n", a, b);
 printf("  f : x-> %s\n", feq);
 printf(" Df : x-> %s\n\n", Dfeq);
 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) sqrt(1+Df(x)**2) dx =  \n"
        "    (a\n\n");
        
  printf(" Or \n\n");

 printf("    (b\n"
        " int(  f(x) ds =\n"
        "    (a\n\n\n");
 stop();
  
  
 clrscrn();     
 printf(" With the function simpson(); : \n\n"
        "    (b\n"
        " int(  2 Pi f(x) sqrt( 1 + Df(x)**2 )* dx = %.2f\n"
        "    (a\n\n\n", simpson(SurfaceArea, a,b,n));
        
 printf(" With the function surfacearea_ds(); : \n\n"
        "    (b\n"
        " int(  f(x) ds = %.2f\n"
        "    (a\n\n\n", surfacearea_ds(f, a,b,n, h));       
  stop();

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


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 [0.000,1.000] and f(x) >0.

  f : x-> x**(2)
 Df : x-> 2. * x

 a = 0.00;
 b = 1.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) sqrt(1+Df(x)**2) dx =  
    (a

 Or 

    (b
 int(  f(x) ds =
    (a


 Press return to continue.


Exemple de sortie écran :

 With the function simpson(); : 

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


 With the function surfacearea_ds(); : 

    (b
 int(  f(x) ds = 3.81
    (a


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

I = quad (f, a, b) 
>> I = quad (@(x) 2*pi*x.*x.*(sqrt(1+((2*x).*(2*x)))),0,1)
I =  3.8097