Mathc initiation/d35
Installer et compiler ces fichiers dans votre répertoire de travail.
c00g.c |
---|
/* --------------------------------- */
/* save as c00g.c */
/* --------------------------------- */
#include "x_hfile.h"
#include "fg.h"
/* --------------------------------- */
int main(void)
{
double az = 0,
bz = 3,
nz = 2*250, nx = 2*250, ny = 2*250;
double M = trapezoid_dxdydz(f,
ux, vx, nx,
sy, ty, ny,
az, bz, nz);
clrscrn();
printf(" f : x,y,z -> %s\n\n", feq);
printf(" v : y,z -> %s \n", veq);
printf(" u : y,z -> %s\n\n", ueq);
printf(" t : z -> %s \n", teq);
printf(" s : z -> %s\n\n", seq);
printf(" With the trapezoidal's rule.\n\n\n");
printf(" (%+.1f (%s (%s \n", bz, teq, veq);
printf(" A = int( int( int( %s dx dy dz = %.6f\n",feq, M);
printf(" (%+.1f (%s (%s\n\n\n", az, seq, ueq);
stop();
return 0;
}
/* --------------------------------- */
Vous pouvez vérifier avec Octave version 5.2 :
I = triplequad (f, xa, xb, ya, yb, za, zb)
>> triplequad (@(x, y, z) (cos(x).*sin(y).*z), 0, 1, 0, 2, 0, 3)
ans = 5.3624
Remarque :
Avec la méthode de Simpson , il faut (2*20+2*20+2*20 =) 120 itérations pour obtenir quatre chiffres exact après la virgule. Avec la méthode de trapèzes il faut (2*250+2*250+2*250) = 1500 itérations pour obtenir le même résultat.
Exemple de sortie écran :
f : x,y,z -> cos(x)*sin(y)*z
v : y,z -> 1
u : y,z -> 0
t : z -> 2
s : z -> 0
With the trapezoidal's rule.
(+3.0 (2 (1
A = int( int( int( cos(x)*sin(y)*z dx dy dz = 5.362400
(+0.0 (0 (0
Press return to continue.