* fichier : ipol_muli_1.dgibi ************************************************************************ ************************************************************************ ************************************************************************ * Test de l'operateur IPOL option GRILL * * interpolation multi-lineaire d'une fonction de n parametres * * definie sur une grile de points * * * * - test avec fonction de 1, 2, 3 et 4 variables * * - test de points ordinaires et singuliers (sur et hors de la grille) * * - test avec des CHPOINTs * ************************************************************************ ** TEST en dimension 1 (interpolation lineaire) ** -------------------------------------------- ** Grille de valeurs de la fonction ** Tolerance pour les tests sur les valeurs interpolees ** Interpolation (sur un CHPOINT puis un MCHAML) MESS 'Interpolation lineaire' ; MESS ; p1 = 0. -2. 0. ; p2 = 0. 3.5 0. ; ** Test des valeurs interpolees sur le CHPOINT MESS ' Point | Valeur | Valeur | Erreur' ; MESS ' | theorique | interpolee | ' ; err1 = ABS (fc - ft) ; SI (err1 > tol1) ; MESS 'ECHEC DU CAS TEST !' ; ERREUR 4 ; FINSI ; FIN b1 ; MESS ; ** Test des valeurs interpolees sur le MCHAML MESS ' Element| Point | Valeur | Valeur | Erreur' ; MESS ' | support| theorique | interpolee | ' ; REPE b2 2 ; err1 = ABS (fc - ft) ; SI (err1 > tol1) ; MESS 'ECHEC DU CAS TEST !' ; ERREUR 4 ; FINSI ; FIN b2 ; FIN b1 ; ** TEST en dimension 2 (interpolation bi-lineaire) ** ----------------------------------------------- ** Grille de valeurs de la fonction ** Interpolation (sur un CHPOINT) MESS ; p1 = -4. 1. 0. ; p2 = 1. 3. 0. ; p3 = 4.5 -2.5 0. ; p4 = -90. 0. 0. ; p5 = -90. -1000. 0. ; p6 = 0. 4. 0. ; p7 = 2. 1.5 0. ; p8 = 6. 4. 0. ; p9 = -5. -3. 0. ; mail1 = p1 ET p2 ET p3 ET p4 ET p5 ET p6 ET p7 ET p8 ET p9 ; 'COMP' 'CAVA' lyref 'COMP' 'BIEN' lfref ; ** Test des valeurs interpolees sur le CHPOINT tp . 1 = p1 ; tf . 1 = ((0.*1.5) + (1.*12.) + (3.*0.5) + (4.*4.)) / 18. ; tp . 2 = p2 ; tf . 2 = ((4.*1.) + (5.*1.5) + (7.*2.) + (8.*3.)) / 7.5 ; tp . 3 = p3 ; tf . 3 = ((6.*6.) + (7.*0.75) + (9.*10.) + (10.*1.25)) / 18. ; tp . 4 = p4 ; tf . 4 = ((0.*1.5) + (1.*3.)) / 4.5 ; tp . 5 = p5 ; tf . 5 = 0. ; tp . 6 = p6 ; tf . 6 = ((5.*2.) + (8.*1.)) / 3. ; tp . 7 = p7 ; tf . 7 = 7. ; tp . 8 = p8 ; tf . 8 = 11. ; tp . 9 = p9 ; tf . 9 = 0. ; MESS ' Point | Valeur | Valeur | Erreur' ; MESS ' | theorique | interpolee | ' ; ft = tf . &b1 ; err1 = ABS (fc - ft) ; SI (err1 > tol1) ; MESS 'ECHEC DU CAS TEST !' ; ERREUR 4 ; FINSI ; FIN b1 ; ** TEST en dimension 3 (interpolation tri-lineaire) ** ------------------------------------------------ ** Grille de valeurs de la fonction -11. 6. -3. 0. -10. 7. -4. 1. -9. 8. -5. 2. ; ** Interpolation (sur un CHPOINT) MESS ; p1 = -4. 1. 0. ; p2 = 1. 3. 0. ; p3 = 4.5 -2.5 0. ; p4 = -90. 0. 0. ; p5 = -90. -1000. 0. ; p6 = 0. 4. 0. ; p7 = 2. 1.5 0. ; p8 = 6. 4. 0. ; p9 = -5. -3. 0. ; p10 = -6. -4. -2. ; p11 = 2. 1.5 10. ; p12 = 0.5 -0.75 10. ; p13 = 1. 3. 7. ; mail1 = p1 ET p2 ET p3 ET p4 ET p5 ET p6 ET p7 ET p8 ET p9 ET p10 ET p11 ET p12 ET p13 ; 'COMP' 'GROS' lyref 'COMP' 'CAVA' lzref 'COMP' 'COOL' lfref ; ** Test des valeurs interpolees sur le CHPOINT tp . 1 = p1 ; tf . 1 = ((0.*1.5) + (1.*12.) + (3.*0.5) + (4.*4.)) / 18. ; tp . 2 = p2 ; tf . 2 = ((4.*1.) + (5.*1.5) + (7.*2.) + (8.*3.)) / 7.5 ; tp . 3 = p3 ; tf . 3 = ((6.*6.) + (7.*0.75) + (9.*10.) + (10.*1.25)) / 18. ; tp . 4 = p4 ; tf . 4 = ((0.*1.5) + (1.*3.)) / 4.5 ; tp . 5 = p5 ; tf . 5 = 0. ; tp . 6 = p6 ; tf . 6 = ((5.*2.) + (8.*1.)) / 3. ; tp . 7 = p7 ; tf . 7 = 7. ; tp . 8 = p8 ; tf . 8 = 11. ; tp . 9 = p9 ; tf . 9 = 0. ; tp . 10 = p10 ; tf . 10 = 0. ; tp . 11 = p11 ; tf . 11 = -4. ; tp . 12 = p12 ; tf . 12 = (6. + 7. - 3. - 4.) / 4. ; tp . 13 = p13 ; tf . 13 = ((4. * (1. * 1. * 3.)) + ( 7. * (2. * 1. * 3.)) + (5. * (1. * 1.5 * 3.)) + ( 8. * (2. * 1.5 * 3.)) + (7. * (1. * 1. * 7.)) + (-4. * (2. * 1. * 7.)) + (8. * (1. * 1.5 * 7.)) + (-5. * (2. * 1.5 * 7.))) / (3. * 2.5 * 10.) ; MESS ' Point | Valeur | Valeur | Erreur' ; MESS ' | theorique | interpolee | ' ; ft = tf . &b1 ; err1 = ABS (fc - ft) ; SI (err1 > tol1) ; MESS 'ECHEC DU CAS TEST !' ; ERREUR 4 ; FINSI ; FIN b1 ; ** TEST en dimension 4 (interpolation quadr-lineaire) ** -------------------------------------------------- ** Grille de valeurs de la fonction -20. -113. -60. 0. 30. 8.5 70. 3. -40. 3.14 -80. 28. ; ** Interpolation (sur un CHPOINT) MESS ; p1 = 0. 0. 0. ; p2 = 1. 0. 0. ; p3 = 2. 0. 0. ; mail1 = p1 ET p2 ET p3 ; 'COMP' 'Z' lzref 'COMP' 'Y' lyref 'COMP' 'X' lxref 'COMP' 'SCAL' lfref ; ** Test des valeurs interpolees sur le CHPOINT tp . 1 = p1 ; tempo1 = (( 10. * (1. * 1. * 3.)) + ( 30. * (2. * 1. * 3.)) + (-20. * (1. * 1.5 * 3.)) + (-40. * (2. * 1.5 * 3.)) + ( 50. * (1. * 1. * 7.)) + ( 70. * (2. * 1. * 7.)) + (-60. * (1. * 1.5 * 7.)) + (-80. * (2. * 1.5 * 7.))) / (3. * 2.5 * 10.) ; tempo2 = (( 90. * (1. * 1. * 3.)) + ( 8.5 * (2. * 1. * 3.)) + (-113. * (1. * 1.5 * 3.)) + (3.14 * (2. * 1.5 * 3.)) + (-200. * (1. * 1. * 7.)) + ( 3. * (2. * 1. * 7.)) + ( 0. * (1. * 1.5 * 7.)) + ( 28. * (2. * 1.5 * 7.))) / (3. * 2.5 * 10.) ; tf . 1 = ((28.3 * tempo1) + (71.7 * tempo2)) / 100. ; tp . 2 = p2 ; tf . 2 = ((10. * 92.) + (90. * 8.)) / 100. ; tp . 3 = p3 ; tempo1 = ((30. * (0.5 * 8.)) + (-40. * (2. * 8.)) + (70. * (0.5 * 2.)) + (-80. * (2. * 2.))) / (2.5 * 10.) ; tempo2 = ((8.5 * (0.5 * 8.)) + (3.14 * (2. * 8.)) + (3. * (0.5 * 2.)) + (28. * (2. * 2.))) / (2.5 * 10.) ; tf . 3 = ((58. * tempo1) + (42. * tempo2)) / 100. ; MESS ' Point | Valeur | Valeur | Erreur' ; MESS ' | theorique | interpolee | ' ; ft = tf . &b1 ; err1 = ABS (fc - ft) ; SI (err1 > tol1) ; MESS 'ECHEC DU CAS TEST !' ; ERREUR 4 ; FINSI ; FIN b1 ; MESS 'SUCCES DU CAS TEST !' ; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales