Exemples d’utilisation ====================== Soit le fichier texte suivant contenant l'information à lire. Il est composé de colonnes de chiffres, ici séparées par des caractères blancs, définissant des blocs, eux-mêmes délimités par du texte libre. Toute ligne comprenant d’autres caractères que des chiffres et le séparateur prédéfini est considérée comme texte libre délimitant. On a donc 4 blocs dans le fichier suivant: .. code-block:: text aaa bbb ccc ddd eee fff 0. 0. 0. 0.1 1. 10. 0.2 2. 20. 0.3 3. 30. xxx yyy www zzz 0.4 4. 40. 400. 0.5 5. 50. 500. 0.6 6. 60. 600. xxx 70. 700. 80. 800. 90. 900. ppp qqq 8.8 9.9 Lecture d’une fonction simple ----------------------------- En exploitant les valeurs par défaut pour le choix des colonnes: .. code-block:: text F=LIRE_FONCTION( UNITE = 38, NOM_PARA = ‘INST’, ) La fonction ainsi créée est: .. code-block:: text Abscisses = [:ref:`0., 0.1, 0.2, 0.3 <0., 0.1, 0.2, 0.3>`] Ordonnées = [:ref:`0., 1. , 2. , 3. <0., 1. , 2. , 3. >`] En associant pour abscisses et ordonnées des colonnes prises dans des blocs différents: .. code-block:: text F=LIRE_FONCTION( UNITE = 38, NOM_PARA = ‘INST’, INDIC_PARA = [:ref:`2,4 <2,4>`], INDIC_RESU = [:ref:`3,1 <3,1>`], La fonction ainsi créée est: .. code-block:: text Abscisses = [:ref:`400., 500., 600. <400., 500., 600.>`] Ordonnées = [:ref:` 70., 80., 90. < 70., 80., 90.>`] Attention, la commande vérifie alors que les cardinaux des colonnes définies par INDIC_PARA et INDIC_RESU sont bien identiques. Ce qui n’aurait pas été le cas ici avec par exemple INDIC_PARA = [:ref:`1,3 <1,3>`]. Lecture d’une fonction complexe ------------------------------- En exploitant les valeurs par défaut pour le choix des colonnes: .. code-block:: text F=LIRE_FONCTION( UNITE = 38, NOM_PARA = ‘INST’, TYPE = ‘FONCTION_C’, FORMAT_C = ‘REEL_IMAG’, ) La fonction ainsi créée est: .. code-block:: text Abscisses = [:ref:`0., 0.1, 0.2, 0.3 <0., 0.1, 0.2, 0.3>`] Ordonnées = [:external:ref:`(0.,0.) , (1.,10.) , (2.,20.) , (3.,30.) <(0.,0.) , (1.,10.) , (2.,20.) , (3.,30.)>`] On aurait bien sûr pu préciser d’autres colonnes pour INDIC_REEL et INDIC_IMAG que celles par défaut. Attention toutefois à pointer sur des colonnes de même cardinal. Lecture d’une nappe ------------------- En exploitant les valeurs par défaut pour le choix des colonnes: .. code-block:: text F=LIRE_FONCTION( UNITE = 38, NOM_PARA = ‘INST’, INDIC_PARA = [:ref:`4,1 <4,1>`], NOM_PARA_FONC = ‘FREQ’, INDIC_ABSCISSE = [:ref:`2,2 <2,2>`], DEFI_FONCTION = ( F( INDIC_RESU = [:ref:`3,1 <3,1>`], ), F( INDIC_RESU = [:ref:`2,3 <2,3>`], ), ) ) La nappe ainsi créée est: Pour la valeur du paramètre INST=8.8, la fonction: .. code-block:: text Abscisses = [:ref:`4. , 5. , 6. <4. , 5. , 6.>`] Ordonnées = [:ref:`70. , 80. , 90. <70. , 80. , 90.>`] Pour la valeur du paramètre INST=9.9, la fonction: .. code-block:: text Abscisses = [:ref:`4. , 5. , 6. <4. , 5. , 6.>`] Ordonnées = [:ref:`40. , 50. , 60. <40. , 50. , 60.>`] Les vérifications de cohérence des cardinaux de colonnes d’abscisses et d’ordonnées sont faites par la commande.