Mathc initiation/Fichiers c : c41cb
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.
c05b.c |
---|
/* ---------------------------------- */
/* save as c05b.c */
/* ---------------------------------- */
#include "x_hfile.h"
#include "fb.h"
/* ---------------------------------- */
int main(void)
{
int n = 2*10;
double a = -1.;
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, \n");
printf(" the graph of g, and the vertical lines x = a and x = b\n\n");
printf(" Let f and g be continous on [%.3f,%.3f].\n\n", a, b);
printf(" f : x-> %s\n", feq);
printf(" g : x-> %s\n\n", geq);
stop();
clrscrn();
printf(" Draw a typical vertical rectangle. \n\n");
printf(" The thickness of washer : dx\n\n");
printf(" The outer radius : %s \n",feq);
printf(" The inner radius : %s \n\n",geq);
printf(" The volume : Pi [(%s)**2 - (%s)**2] dx\n\n", feq, geq);
printf(" Volume of a washer = Pi [(outer radius)**2 - (inner radius)**2] (thickness)");
printf(" \n\n\n");
stop();
clrscrn();
printf(" If we apply \n\n");
printf(" (%.3f\n", b);
printf(" int( \n");
printf(" (%.3f\n\n", a);
printf(" to : Pi [(%s)**2 - (%s)**2] dx\n\n", feq, geq);
printf(" We obtain a limit of sums of volumes of washers.\n\n");
printf(" (%.3f\n", b);
printf(" int( Pi[(%s)**2 - (%s)**2] dx = %.3f\n", feq, geq, simpson(Vwasher,a,b,n));
printf(" (%.3f\n\n\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 graph of g, and the vertical lines x = a and x = b
Let f and g be continous on [-1.000,1.000].
f : x-> -2.*x**2 + 2.
g : x-> -x**2 + 1.
Press return to continue.
Dessinons avec gnuplot les deux fonctions f et g :
set zeroaxis lt 8
set grid
plot [-1.000:1.000] [-2.000:2.000] -2.*x**2 + 2.,\
-x**2 + 1.
reset
Exemple de sortie écran :
Draw a typical vertical rectangle.
The thickness of washer : dx
The outer radius : -2.*x**2 + 2.
The inner radius : -x**2 + 1.
The volume : Pi [(-2.*x**2 + 2.)**2 - (-x**2 + 1.)**2] dx
Volume of a washer = Pi [(outer radius)**2 - (inner 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.5,-0.5**2 + 1. to 0.54,-2.*0.54**2 + 2.
plot [-1.000:1.000] [-2.000:2.000] -2.*x**2 + 2.,\
-x**2 + 1.
reset
Exemple de sortie écran :
If we apply
(1.000
int(
(-1.000
to : Pi [(-2.*x**2 + 2.)**2 - (-x**2 + 1.)**2] dx
We obtain a limit of sums of volumes of washers.
(1.000
int( Pi[(-2.*x**2 + 2.)**2 - (-x**2 + 1.)**2] dx = 10.053
(-1.000
Press return to continue.
Vérifier le résultat avec Octave 5.2 : I = quad (f, a, b)
>> I = quad (@(x) pi*((-2.*x**2 + 2.).*(-2.*x**2 + 2.)-(-x**2 + 1.).*(-x**2 + 1.)),-1,1)
I = 10.053