Contenu supprimé Contenu ajouté
petit correction
petit correction
Ligne 10 :
<syntaxhighlight lang="c">
/* ---------------------------------- */
double simpsonsimpson_dydx(
double (*P_f)(double x, double y),
double a,
double b,
int n
)
 
 
double bax,
double bx,
int nnx,
 
double (*P_u)(double x),
double (*P_v)(double x),
 
int n,ny)
int i = 0;
double m = 0.;
double M = 0.;
 
for(i = 0; i <= nnx; i++)
{
if(i ==0 || i== nnx){m = 1.;}
else if(fmod(i,2) == 0){m = 2.;}
else {m = 4.;}
 
M += m * int_dy((*P_f)(a+i*(b-a)/n);,
 
(ax + i*(bx-ax)/nx),
 
(*P_u),
(*P_v),
ny);
}
 
return( ((bbx -aax)*M) / (3*nnx) );
}
/* ---------------------------------- */
Ligne 39 ⟶ 51 :
<syntaxhighlight lang="c">
/* ---------------------------------- */
double simpson_dydxgreen_dydx(
double (*P_fP_M)(double x, double y),
double a(*P_N)(double x, double y),
 
double b,
double ax,
int n,
double bx,
int nx,
double ah,
double (*P_u)(double x),
double (*P_v)(double x),
 
int ny)
{
Ligne 52 ⟶ 69 :
double M = 0.;
 
for(i = 0; i <= nnx; i++)
{
if(i ==0 || i== nnx){m = 1.;}
else if(fmod(i,2) == 0){m = 2.;}
else {m = 4.;}
 
M += m * int_dygint_dy((*P_fP_M),(a + i*(b-a)/n), (*P_u),(*P_v),ny);
(*P_N),
(ax + i*(bx-ax)/nx),
h,
(*P_u),
(*P_v),
ny);
}
 
return( ((bbx -aax)*M) / (3*nnx) );
}
/* ---------------------------------- */