Aller au contenu

Mathc initiation/Fichiers c : c42cc

Un livre de Wikilivres.


Sommaire

La méthode des disques, est une méthode de calcul du volume d'un solide de révolution par intégration selon un axe «parallèle» à l'axe de révolution. [wikipedia]

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

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


 clrscrn();
 printf(" Compute the volume V of the solid of revolution         \n");
 printf(" generated by revolving R about the x-axis             \n\n");
 printf(" Draw the region R bounded by the graph of f, the x-axis,\n");
 printf(" and the vertical lines x = a and x = b                \n\n");
 printf(" Let  f be continous on [%.3f,%.3f].\n\n", a, b);
 printf(" f : x-> %s\n\n", feq);
 stop();

 clrscrn();
 printf(" Draw a typical vertical rectangle. \n\n");
 printf(" The radius    of the disk :     %s                   \n", feq);
 printf(" The thickness of the disk :               dx\n");
 printf(" The volume    of the disk : Pi (%s)**2  dx       \n\n\n", feq);
 printf(" Volume of a Circular disk = Pi (radius)**2 (thickness)\n\n\n");
 stop();

 clrscrn();
 printf(" If we apply \n\n\n");
 printf("    (%.3f\n", b);
 printf(" int(      \n");
 printf("    (%.3f\n\n\n", a);

 printf(" to  : Pi (%s)**2 dx\n\n\n", feq);
 printf(" We obtain a limit of sums of volumes of disks.\n\n\n");

 printf("    (%.3f\n", b);
 printf(" int(  Pi (%s)**2 dx = %.3f\n", feq, simpson(VCircularDisk,a,b,n));
 printf("    (%.3f\n", a);
 stop();

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


Exemple de sortie écran :

 Compute the volume V of the solid of revolution         
 generated by revolving R about the x-axis             

 Draw the region R bounded by the graph of f, the x-axis,
 and the vertical lines x = a and x = b                

 Let  f be continous on [0.200,1.000].

 f : x-> 1./x

 Press return to continue.


Dessinons avec gnuplot la fonction f :

 set zeroaxis lt 8
 set grid
 plot [.2:1.000] [-5.000:5.000] (1./x)
 reset


Exemple de sortie écran :

 Draw a typical vertical rectangle. 

 The radius    of the disk :     1./x                   
 The thickness of the disk :               dx
 The volume    of the disk : Pi (1./x)**2  dx       


 Volume of a Circular disk = Pi (radius)**2 (thickness)


 Press return to continue.


Dessinons un rectangle pour construire l'équation du volume:

set zeroaxis lt 8
 set grid
 set object 3 rect from 0.4,0 to 0.403,(1./0.403)
 plot [.2:1.000] [-5.000:5.000] (1./x),\
 -(1./x)
 reset


Exemple de sortie écran :

 If we apply 


    (1.000
 int(      
    (0.200


 to  : Pi (1./x)**2 dx


 We obtain a limit of sums of volumes of disks.


    (1.000
 int(  Pi (1./x)**2 dx = 12.569
    (0.200
 Press return to continue.


Vérifier le résultat avec Octave 5.2 :

I = quad (f, a, b) 
>> I = quad (@(x) pi*((1./x).*(1./x)),.2,1)
I =  12.566