Mathc initiation/Fichiers c : c60cd


Sommaire


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

Crystal Clear mimetype source c.png c18d.c
/* ---------------------------------- */
/* save as c18d.c                   */
/* ---------------------------------- */
#include "x_hfile.h"
#include       "fd.h"
/* ---------------------------------- */
int main(void)
{
double az = 0.;
double bz = 5.;
int    nz = 2*50;

int    ny = 2*50;

double  m = 0;	
	
 clrscrn();
                             
 m = surface_dydz(  g,k,
                            u,v,
                            ny,   
                            az,bz,nz,
                            H);                             
    

 printf(" Evaluate this surface integrals equation.\n\n");
 printf("     //                  \n");
 printf("    ||                   \n");
 printf("    || g(k(y,z),y,z)* sqrt[ k_y(y,z)^2 + k_z(y,z)^2 + 1 ] dA = %.3f\n",m);
 printf("    ||                   \n");
 printf("   //                    \n");
 printf("   Ryz               \n\n\n");
 printf(" With.\n\n\n");
 printf(" g : (x,y,z)-> %s\n\n", geq);
 printf(" k :   (y,z)-> %s\n\n", feq);
 printf(" u :     (z)-> %s  \n", ueq);
 printf(" v :     (z)-> %s\n\n", veq);
 printf(" a = %+.1f   b = %+.1f \n",az,bz);
 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(k(y,z),y,z)* sqrt[ k_y(y,z)^2 + k_z(y,z)^2 + 1 ] dA = 1747.211
    ||                   
   //                    
   Ryz               


 With.


 g : (x,y,z)-> x*z/y

 k :   (y,z)-> z**2

 u :     (z)-> 1  
 v :     (z)-> (4)

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


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

                     5    4
                    /    /   3             2
                   |    |   z  sqrt(1 + 4 z )
                   |    |   ----------------- dy dz
                   |    |           y
                  /    /
                    0    1

> evalf(value(%));
> 

                             1747.211225

>