Télécharger ipol.notice

Retour à la liste thématique

Afficher cette notice en

Numérotation des lignes :
$$$$ IPOL     NOTICE  PASCAL    21/03/03    21:15:27     10911          
                                             DATE     21/03/03

  Operateur IPOL                           Voir aussi : PROJGRIL VARI
    --------------  
 
SOMMAIRE DE LA NOTICE
---------------------
1. Interpolation d'une fonction (EVOLUTION ou 2 LISTREEL)
1.1 Syntaxe
1.2 Objet
2. Interpolation d'une TABLE de soustype 'RESULTAT'
2.1 Syntaxe
2.2 Objet
2.3 Exemple
3. Interpolation d'un NUAGE
3.1 Syntaxe
3.2 Objet
3.3 Exemple
4. Interpolation d'un CHPOINT d'abscisse curviligne
4.1 Syntaxe
4.2 Objet


1. Interpolation d'une fonction (EVOLUTION ou 2 LISTREEL)
=========================================================

1.1 Syntaxe
-----------
OBJET2 = 'IPOL' OBJET1 | LREEL1 LREEL2 | ... | EVOL1 | ... | ('SPLI' ('DGAU' FLOT1) ('DDRO' FLOT2)) ; | 'TOUS';
1.2 Objet
---------
L'OBJET2 obtenu par interpolation d'une fonction f definie par : LREEL1 : LISTREEL des abscisses {t_i} LREEL2 : LISTREEL des ordonnees correspondantes {f_i} ou par EVOL1 : EVOLUTION scalaire elementaire en l'abscisse OBJET1 de valeur t : OBJET2=f(t) OBJET2 a le meme type et les memes caracteristiques que OBJET1. Les types possibles pour OBJET1 sont : - FLOTTANT - LISTREEL - CHPOINT - MCHAML Par defaut, l'interpolation lineaire est utilisee et les abscisses doivent imperativement etre rangees par ordre croissant ou decroissant. - 'SPLI' : mot-cle permettant de specifier une interpolation par spline cubique. Dans ce cas, on peut preciser la valeur de la derivee premiere de la spline sur les bords gauche et droit de son intervalle de definition avec les mots-cles 'DGAU' et 'DDRO'. Si la derivee première n'est pas specifiee, on utilise la condition naturelle : derivee seconde nulle. Remarque : l'interpolation par spline cubique n'est pas locale, elle depend de l'ensemble des valeurs de la fonction donnee. - 'TOUS' : mot-cle permettant de specifier que la fonction f peut etre multi-valuee. La suite des abscisses n'est donc pas monotone. Dans ce cas, OBJET1 est necessairement un FLOTTANT et OBJET2 est un LISTREEL contenant l'ensemble des y tel que y=f(t).

2. Interpolation d'une TABLE de soustype 'RESULTAT'
===================================================


2.1 Syntaxe
-----------
OBJET2 = 'IPOL' TABLE T ;
2.2 Objet
---------
OBJET2 est un CHPOINT ou un MCHAML obtenu par interpolation a partir d'une table de soustype 'RESULTAT' et d'un temps T. Le type de l'objet cree depend du contenu de la table.
2.3 Exemple
-----------
* La table de sous-type RESULTAT doit etre initialisee par : matab = 'TABLE' RESULTAT ; * Puis on doit avoir une suite ordonnee d'indices de type FLOTTANT et * les valeurs pointees doivent etre de meme type (CHPOINT ou MCHAML) * Par exmple : matab. 1.5 = chpo1 ; matab. 3. = chpo2 ; * Et ainsi vous pouvez faire : chpo3 = 'IPOL' matab 2. ; * chpo3 est donc ici egal a l'operation : chpo3 = (CHPO1 * (2./3.)) + (CHPO2 * (1./3.))

3. Interpolation d'un NUAGE
===========================


3.1 Syntaxe
-----------
OBJET2 = 'IPOL' NUA1 OBJET3 | ('GAUSS') ; | 'RATIO' ; | 'PID' (P1) ('ELIM' xtol1); | 'GRILL' ;
3.2 Objet
---------
OBJET2 est le resultat de l'interpolation d'une fonction de plusieurs variables definie par un NUAGE. + Pour les mots cles 'GAUSS', 'RATIO' et 'PID', il s'agit d'une fonction de n variables a p valeurs scalaires a partir d'un nuage de n+p uplets de scalaires (x,f(x)). x est de dimension n, f(x) est de dimension p. L'OBJET3 est soit un CHPOINT soit un MCHAML dont les noms des composantes correspondent aux noms de n composantes du nuage. Les composantes du champ et du nuage sont necessairement scalaires. OBJET2 est du type de OBJET3. ex: nuage de composantes 'X' 'Y' 'Z' 'T' 'F' champ argument de composantes 'X' 'Z' champ resultat de composantes 'Y' 'T' 'F' Deux methodes d'interpolations sont utilisees selon l'option : -- Avec les mots cles 'GAUSS' et 'RATIO', la methode utilisee pour l'interpolation est celle des elements finis diffus au premier ordre. Au point dont on veut connnaitre l'image par la fonction, on calcule un hyperplan qui minimise la somme ponderee des carres des differences des valeurs sur tous les points du nuage. La ponderation est obtenue par l'image de la distance entre le point et le noeud par la fonction de ponderation gaussienne (exp(-x**2)) ou rationelle (1/(1+x)). -- Avec le mot cle 'PID', il s'agit d'une interpolation par ponderation inverse aux distances. La ponderation de chaque point du nuage est proportionnelle a (1/x**P1) ou x est la distance euclidienne au point cible (sur les composantes connue du champ argument). P1 : (FLOTTANT/ENTIER) parametre de puissance pour la fonction de ponderation, positif ou nul, egal a 1 par defaut xtol1 : (FLOTTANT) distance en norme 2 en deca de laquelle, on considere que le point cible peut etre confondu avec un point du nuage. L'interpolation est exacte, c'est a dire qu'elle retourne la valeur du nuage si le point cible est un point du nuage. Pour plus d'informations consultez : Shepard, Donald (1968). "A two-dimensional interpolation function for irregularly-spaced data". Proceedings of the 1968 ACM National Conference: 517-524. https://en.wikipedia.org/wiki/Inverse_distance_weighting + Pour le mot cle 'GRILL', le nuage represente une fonction de n variables definie sur une grille de points. L'interpolation est multi-lineaire par morceaux et passe par les points de la grille. Le nuage NUA1 doit alors contenir 1 seul (n+1) uplet ou chaque composante abrite un seul objet LISTREEL. L'OBJET3 est soit un CHPOINT soit un MCHAML dont les noms des composantes correspondent aux nom des n premieres composantes du nuage. Le nuage doit etre definit ainsi : - Pour une grille de dimension n, le nuage doit posseder un seul n+1 uplet - Les n premieres composantes du nuage contiennent les listes, a valeurs croissantes, des coordonnes des noeuds de la grille dans chaque dimension. Ces listes peuvent etre de tailles differentes. Par exemple, une grille de dimension 3 peut contenir 4 points en X, 3 points en Y et 2 points en Z. - La derniere composante du nuage contient la liste des valeurs de la fonction sur tous les points de la grille, rangees dans l'ordre suivant : -- on note F_ijk... la valeur de la fonction pour le point de la grille situe a la i-eme position sur la dimension X, j-eme position sur la dimension Y, k-eme position sur la dimension Z, etc... -- le premier terme est F_111 -- la suite est rangee dans l'ordre des i croissants, puis j croissants, puis k croissants, etc ... -- dans le cas de l'exemple precedent, cette liste contient les 4*3*2=24 valeurs rangees ainsi : PROG F_111 F_211 F_311 F_411 F_121 F_221 F_321 F_421 F_131 F_231 F_331 F_431 F_112 F_212 F_312 F_412 F_122 F_222 F_322 F_422 F_132 F_232 F_332 F_432 ; Les variables associees a chaque dimension peuvent correspondre a n'importe quelle grandeur physique scalaire. Un exemple de mise en donnees est presente ci-apres.
3.3 Exemple
-----------
option 'GRILL' : On veut definir la fonction de 2 variables sur la grille suivante Y ^ | 7.6 8.1 -4.1 28.3 0. 84. 11 - O-----O----------O-----O---------O-------------O | | | | | | | | | | | | | | | | | | | | | | |1.2 |4.3 |7. |25. |-1. |-78.1 6 - O-----O----------O-----O---------O-------------O | | | | | | | | |4. |8. |15. |16. |23. |42. 3 - O-----O----------O-----O---------O-------------O | | 0 ------|-----|----------|-----|---------|-------------|-----> X 0 1 2 4 5 7 10 Le nuage peut etre ecrit ainsi : NUA1 = NUAG 'COMP' 'X' (PROG 1. 2. 4. 5. 7. 10.) 'COMP' 'Y' (PROG 3. 6. 11.) 'COMP' 'TOTO' (PROG 4. 8. 15. 16. 23. 42. 1.2 4.3 7. 25. -1. -78.1 7.6 8.1 -4.1 28.3 0. 84.) ;

4. Interpolation d'un CHPOINT d'abscisse curviligne
===================================================


4.1 Syntaxe
-----------
POIN1 = 'IPOL' CHPO1 FLOT1 ;
4.2 Objet
---------
D'interpoler un point le long d'une ligne orientee en donnant son champ d'abscisse curviligne (voir COOR). CHPO1 : objet CHPOINT, champ d'abscisse curviligne ; FLOT1 : objet FLOTTANT, abscisse du point recherche ; POIN1 : objet POINT, point interpole.

© Cast3M 2003 - Tous droits réservés.
Mentions légales