Mathc initiation/Fichiers h : c47t1
Apparence
Présentons le problème :
Nous avons la fonction :
x_symp.h |
---|
/* ---------------------------------- */
/* save as x_ds.h */
/* ---------------------------------- */
double int_ds(
double (*P_f)(double x),
double a,
double b,
int n,
double h
)
{
int i = 0;
double m = 0.;
double M = 0.;
double t = 0.;
for(i = 0; i <= n; i++)
{
if(i ==0 || i== n){m = 1.;}
else if(fmod(i,2) == 0){m = 2.;}
else {m = 4.;}
t = (a + i*(b-a)/n);
M += m * sqrt(1. + pow(fx_x((*P_f),t,h),2));
}
return( ((b -a)*M) / (3*n) );
}
/* ---------------------------------- */
/* ---------------------------------- */
Cette fonction ne peut calculer que les longueurs d'arc.
Nous voulons écrire la fonction :
x_ds.h |
---|
/* ---------------------------------- */
/* save as x_ds.h */
/* ---------------------------------- */
double Int_Ds(
double (*P_p)(double x),
double (*P_f)(double x),
double a,
double b,
int n,
double h
)
{
int i = 0;
double m = 0.;
double M = 0.;
double t = 0.;
for(i = 0; i <= n; i++)
{
if(i ==0 || i== n){m = 1.;}
else if(fmod(i,2) == 0){m = 2.;}
else {m = 4.;}
t = (a + i*(b-a)/n);
M += m * (*P_p)(t) * sqrt(1. + pow(fx_x((*P_f),t,h),2));
}
return( ((b -a)*M) / (3*n) );
}
/* ---------------------------------- */
/* ---------------------------------- */
Qui est une variante de la première et qui pourrait calculer aussi par exemple les surfaces de révolution.
Dans la première fonction nous avons :
t = (a + i*(b-a)/n);
M += m * sqrt(1. + pow(fx_x((*P_f),t,h),2));
Qui a été remplacé par :
t = (a + i*(b-a)/n);
M += m * (*P_p)(t) * sqrt(1. + pow(fx_x((*P_f),t,h),2));
En fait on a introduit un appel à la fonction "(*P_p)(t);". Cette fonction pourrait être :
double p(
double x)
{
return(2*PI*f(x));
}
Ce qui nous permettrait de calculer la surface de révolution d'un objet 3 d. Bien entendu nous avons ajouté un argument à Int_Ds(); pour introduire cette nouvelle fonction p();.
Remarque :
double p(
double x)
{
return(1);
}
Si p() est la fonction constante 1, alors on retrouve la fonction int_ds(); qui calcule les longueurs d'arcs.