/*************************************************************************************************************************************/ /* */ /* R E D U C T I O N L I N E A I R E D E S M A I L L E S ( ' 02 ' ) : */ /* */ /* */ /* Author of '$xtc/mailles.02$c' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, AAAAMMJJhhmmss). */ /* */ /*************************************************************************************************************************************/ #include "INCLUDES.01.I" /* Introduit le 20051116101455... */ extern double pow(); #define FIRST_NIVEAU_DE_RECURSION \ 1 #define N \ 20 #define COORDONNEE_BARYCENTRIQUE_MINIMALE \ 0.0 #define COORDONNEE_BARYCENTRIQUE_MAXIMALE \ 1.0 #define DIS2(x,a,b) \ MUL2(x,ADD2(a,b)) #define PUIX(x,y) \ pow((double)x,(double)y) #define COMPOSANTE_LINEAIRE_DE_LA_FONCTION_GENERALE_DE_REDUCTION_VERSION_02(x0,iteration,inverse_de_l_exposant,epsilon) \ MUL2(x0 \ ,BARY(epsilon \ ,COORDONNEE_BARYCENTRIQUE_MAXIMALE \ ,PUIX(INVE(inverse_de_l_exposant),SOUS(iteration,FIRST_NIVEAU_DE_RECURSION)) \ ) \ ) main() { int n; double x0=1.0; double epsilon=0.1; double inverse_de_l_exposant=1.4; double maille[N]; for (n=FIRST_NIVEAU_DE_RECURSION ; n<=N ; n++) { maille[n-FIRST_NIVEAU_DE_RECURSION] = COMPOSANTE_LINEAIRE_DE_LA_FONCTION_GENERALE_DE_REDUCTION_VERSION_02(x0,n,inverse_de_l_exposant,epsilon); printf("\n maille(%d) = %f",n,maille[n-FIRST_NIVEAU_DE_RECURSION]); if (n>FIRST_NIVEAU_DE_RECURSION) { printf(" maille(%d)/maille(%d) = %f" ,n-1,n,maille[n-FIRST_NIVEAU_DE_RECURSION-1]/maille[n-FIRST_NIVEAU_DE_RECURSION] ); } else { } } }