Mathc initiation/Fichiers c : c60cb
Installer et compiler ces fichiers dans votre répertoire de travail. .
c00b.c |
---|
/* ---------------------------------- */
/* save as c00b.c */
/* ---------------------------------- */
#include "x_hfile.h"
#include "fb.h"
/* ---------------------------------- */
int main(void)
{
double m = surface_dxdz( g, h,
u, v,LOOP,
az,bz,LOOP);
clrscrn();
printf(" Evaluate this surface integrals equation.\n\n");
printf(" // \n");
printf(" || \n");
printf(" || g(x,h(x,z),z)* sqrt[ h_x(x,z)^2 + h_z(x,z)^2 + 1 ] dA = %.3f\n",m);
printf(" || \n");
printf(" // \n");
printf(" Rxz \n\n\n");
printf(" With.\n\n\n");
printf(" g : (x,y,z)-> %s\n\n", geq);
printf(" h : (x,z)-> %s\n\n", heq);
printf(" v : (z)-> %s \n", veq);
printf(" u : (z)-> %s\n\n", ueq);
printf(" b = %+.1f\n a = %+.1f\n\n\n",bz,az);
stop();
return 0;
}
/* ---------------------------------- */
/* ---------------------------------- */
L'algorithme consiste à adapter la fonction qui calcule les intégrales doubles au calcul des surfaces en 3d.
Exemple de sortie écran :
Evaluate this surface integrals equation.
//
||
|| g(x,h(x,z),z)* sqrt[ h_x(x,z)^2 + h_z(x,z)^2 + 1 ] dA = 24.926
||
//
Rxz
With.
g : (x,y,z)-> x*y**2*z**3
h : (x,z)-> 1./3.*(12-2*y-4*z)
u : (z)-> 0
v : (z)-> (6-2*y)
a = +0.0 b = +3.0
Press return to continue.
Sortie écran d'un CAS :
> restart:
> g := (x,y,z)->x*y**2*z**3:
> h := (x,z)->1./3.*(12-2*x-4*z):
> Int(
> Int(
> g(x,h(x,z),z)*
> sqrt( diff(h(x,z),x)^2 + diff(h(x,z),z)^2 + 1),
>
> x = 0 .. 6-2*z),
> z = 0 .. 3);
3 6 - 2 z
/ /
| |
| | 1.795054935
| |
/ /
0 0
2 3
x (4.000000000 - .6666666666 x - 1.333333333 z) z dx dz
> evalf(value(%));
>
24.92561995
>