Mathc initiation/Fichiers c : c60cc

Un livre de Wikilivres.


Sommaire


Installer et compiler ces fichiers dans votre répertoire de travail. .

c00c.c
/* ---------------------------------- */
/* save as c00c.c                   */
/* ---------------------------------- */
#include "x_hfile.h"
#include      "fc.h"
/* ---------------------------------- */
int main(void)
{
double m = surface_dydx(  g,  f,
                          u,  v,LOOP,   
                          ax,bx,LOOP);
 clrscrn();                           
                                      
 printf(" Evaluate this surface integrals equation.\n\n");
 printf("     //                  \n");
 printf("    ||                   \n");
 printf("    || g(x,y,f(x,y))* sqrt[ f_x(x,y)^2 + f_y(x,y)^2 + 1 ] dA = %.3f\n",m);
 printf("    ||                   \n");
 printf("   //                    \n");
 printf("   Ryx               \n\n\n");
 
 printf(" With.\n\n\n");
 
 printf(" g : (x,y,z)-> %s\n\n", geq);
 printf(" f :   (x,y)-> %s\n\n", feq);

 printf(" v :     (x)-> %s  \n", veq);
 printf(" u :     (x)-> %s\n\n", ueq); 
 printf(" b = %+.1f\n a = %+.1f\n\n\n",bx,ax);
 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,y,f(x,y))* sqrt[ f_x(x,y)^2 + f_y(x,y)^2 + 1 ] dA = 25.256
    ||                   
   //                    
   Ryx               


 With.


 g : (x,y,z)-> x+y+z

 f :   (x,y)-> 6-2*x-3*y

 u :     (x)-> 0  
 v :     (x)-> (6-3*x)/2

 a = +0.0   b = +3.0 
 Press return to continue.


 Sortie écran d'un CAS :
> restart:
> 
> g := (x,y,z)->x+y+z:
> f := (x,y)-> 6-2*x-3*y:
> Int(
> Int(
>       g(x,y,f(x,y))*
>    sqrt( diff(f(x,y),x)^2 + diff(f(x,y),y)^2 + 1),
> 
> y = 0 .. (6-3*x)/2),
> x = 0 .. 3);

              3    3 - 3/2 x
             /    /
            |    |
            |    |           (-x - 2 y + 6) sqrt(14) dy dx
            |    |
           /    /
             0    0

> evalf(value(%));
> 

                             25.25618736

>