Traitement de données numériques avec Fortran 90


1996, 264 pages, Masson, Auteur M. Olagnon, 280 FF, ISBN 2-225-85259-6

``Si les sentiments sont nobles, on doit choisir pour les exprimer le langage qui aura le plus de force, quitte à y perdre l'estime de qui ne comprend pas''

Programmes d'exemple


Avant-Propos


Les Fortran


Introduction


1 Généralités et conventions


ACTOBJ : Programme canevas

I. Valider ses données


2 Découvrir des anomalies


2.1 La lecture
2.1.1 Quelques valeurs remarquables
2.1.2 Les formats d'impression
FMTSTD : Module de formats standards
2.2 Les statistiques élémentaires
2.2.1 Les maximum et minimum
2.2.2 La moyenne
2.2.3 L'écart-type
2.2.4 L'asymétrie
2.2.5 L'aplatissement
2.3 Les données séquentielles
2.3.1 La fréquence d'échantillonnage
2.3.2 Les pointes
Données normales
Données avec pointes
TSTPTE : Teste l'existence de pointes dans un signal
2.3.3 L'écrêtage
Données écrêtées
TSTSAT : Teste l'existence de saturations dans un signal
2.3.4 Les manques et discontinuités
2.4 Les propriétés communes

3 Sauver ce qui est sauvable


3.1 Gérer les valeurs reconnues fausses
3.1.1 L'omission
OMEPTE : Omet les pointes d'un signal
3.1.2 La convention
3.1.3 Le marquage
3.2 Interpoler
3.2.1 à pas constant
SURECH : Suréchantillonnage à pas constant
3.2.2 entre valeurs irrégulièrement réparties
INTERP : Interpolation

II. Convertir ses données


4 Conversions communes


4.1 Les transferts
4.1.1 Par quel bout les prendre ?
4.1.2 Les tailles
4.1.3 La recopie sans altération
4.1.4 Le retournement bout pour bout
BOUTBOUT : Retournement bout pour bout
4.2 La structuration en enregistrements
4.2.1 Les enregistrements logiques
4.2.2 Les blocs physiques
4.3 Multiplexage et démultiplexage
4.3.1 Transposition sans contraintes
4.3.2 Transposition en place
TRSCAR : Transposition d'une matrice carrrée
TRSRCT : Transposition d'une matrice rectangulaire
4.4 Les changements d'unités
4.4.1 Degrés et radians
MTHCST : Constante mathématique (PI)
4.4.2 Unités physiques
UNITES : Module d'exemple
4.5 Les changements de repère
4.5.1 Coordonnées cartésiennes et polaires
CARPOL : Module de conversion
4.5.2 Entre repères cartésiens

5 Les conversions formattées


5.1 L'écriture
NBRCHF : Nombre de chiffres, utilisé dans la reconnaissance du format
5.2 ASCII et EBCDIC
ASCAEBC : Conversion ASCII à EBCDIC
EBCAASC : Conversion EBCDIC à ASCII
5.3 La relecture
5.3.1 Isoler une sous-chaîne
MRCCHN : Identifier une sous-chaîne
5.3.2 Vérifier la numéricité
ISNUM : test de numéricité, utilisé dans la reconnaissance du format
5.3.3 Décoder la valeur
OBTFMT : reconnaître un format

6 Les données binaires


6.1 Les principes des représentations binaires
6.1.1 Les entiers
VRFNEG : vérifier le mode de représentation
I16ACH : codage d'entiers sur 16 bits
6.1.2 Les réels
6.2 Conversions avec le format IEEE
6.2.1 Le format IBM
CVIBM : conversions entre IEEE et IBM
6.2.2 Le format CRAY/CDC
CVCDC : conversions entre Cray (ou CDC) et IEEE

III. Les statistiques


7 Le calcul des statistiques


7.1 Les moments
7.1.1 La moyenne
7.1.2 Les moments
7.2 Les quantiles
TRIIND : Tri par interclassement (dans le calcul de quantiles)
FRCTIL : Calcul de quantiles
7.3 Autres valeurs caractéristiques
7.3.1 La médiane
XMEDIA : Calcul de la médiane
7.3.2 La valeur modale
CALMOD : Calcul du mode
7.4 Fonctions de répartition et histogrammes
7.4.1 Fonctions de répartition
CALREP : Calcul de la fonction de répartition
7.4.2 Histogrammes
CALHIS : Calcul d'histogramme à classes égales
CALHIN : Calcul d'histogramme à classes inégales
CALCLS : Calcul de limites de classes

8 L'usage des statistiques


8.1 Les régressions
8.1.1 La forme Y = aX
8.1.2 La forme Y = aX + b
8.1.3 La qualité de la régression
8.2 Les ajustements
8.2.1 Fonctions à 1 ou 2 paramètres
8.2.2 Fonctions à 3 paramètres ou plus
AJUPAR : Ajustement à 3 paramètres
8.2.3 Choix entre modèles
8.3 Les distributions
ERFC : Fonction d'erreur complémentaire
8.4 Les tests
TSTKHI : Test du Khi-2

IV. Traiter des séries temporelles


9 Les comptages


9.1 Les passages par niveaux
CROLOC : Passages par niveaux, dans le test de pointes
9.2 Les extrema
EXTLOC : Extrema locaux, dans le test de pointes
PACPIC : Compactage des extrema locaux
9.3 Des cycles, parfois complexes
9.3.1 Comptage ``zéro-crossing''
ZERCRS : Comptage des cycles ``zéro-crossing''
9.3.2 Comptage à élimination de petites oscillations
PACMIN : Compactage des extrema locaux à élimination de petites oscillations
9.3.3 Comptage ``Rainflow'', de la goutte d'eau
CPTRNF : Comptage des cycles ``Rainflow''

10 L'analyse spectrale


10.1 La transformation de Fourier
10.1.1 Un exemple de programme
FFT : Transformation de Fourier
10.1.2 Les écueils de la pratique
MODFFT : Module de transformations de Fourier
10.1.3 Transformation inverse
10.2 Manipulations sur les spectres
10.2.1 Calcul simultané pour deux séquences réelles
BISFFT : Exemple dans le calcul de covariance
10.2.2 Moments spectraux
MOMSPC : Calcul des moments spectraux
10.2.3 Calcul de covariance
COVSPC : Calcul de covariance

11 Des filtres


11.1 Les moyennes courantes
11.1.1 Le lissage
LISFEN : Lissage à moyenne courante
11.1.2 La moyenne à oubli progressif
LISOUB : Lissage à oubli progressif
11.2 Le filtrage Fourier-Fourier inverse
11.2.1 Filtrage passe-bande
FLTSPC : Filtrage Fourier-Fourier inverse
11.2.2 Intégration -- Dérivation
DERSPC : Dérivation Fourier-Fourier inverse

V. Visualiser


12 S'interfacer avec la visualisation


12.1 Les ``gros'' systèmes
12.2 Quelques exemples avec PostScript
12.2.1 L'initialisation
12.2.2 La conclusion
12.2.3 Jouer sur l'état courant
12.2.5 Exemple d'utilisation
TSTDES : Essai de dessin
12.2.6 Un autre mode de gestion

13 Les échelles


13.1 Le choix des bornes
13.1.1 Quantités quelconques
CHXGRD : Choix de graduations
13.1.2 Intervalles de temps
CHXHMS : Choix de graduations en durées
13.2 Les échelles exotiques
13.2.1 Logarithmes
PRPLOG : Passage en logarithmique
13.2.2 Log-Log
13.3 D'autres jeux sur les contrastes
13.3.1 Rendre gaussien
DISGAU : Anamorphose normale, dans le test de pointes
13.3.2 Atténuer les extrêmes
ARGSH : Argument sinus hyperbolique

VI. Organiser son travail


14 Règles de programmation


14.1 Principes
14.2 Règles générales
14.3 Règles de présentation
14.4 Règles d'utilisation
14.4.1 Commentaires
14.4.2 Identificateurs et déclarations
14.4.3 Expressions
14.4.4 Structures de contrôle
14.4.5 Procédures externes
14.4.6 Entrées-sorties

15 L'optimisation


15.1 Principes
15.1.1 La règle du baiser
15.1.2 Localiser les points durs
15.1.3 Savoir où et quand s'arrêter
15.2 Connaître son ordinateur
15.2.1 Les aides à la compilation
15.2.2 Les bibliothèques
15.2.3 Les unités centrales
15.2.4 Les périphériques
15.3 Le style efficace
15.3.1 Eviter de répéter
15.3.2 Diminuer l'envergure
15.3.3 Modifier le code
15.4 Quelques solutions
15.4.1 Laisser s'exprimer la machine
15.4.2 Changer son fusil d'épaule
15.4.3 Tirer profit d'informations supplémentaires
15.4.4 Utiliser les heures creuses -- Optimiser le JCL

Conclusion


Bibliographie


Index


Michel Olagnon IFREMER Brest / molagnon@ifremer.fr

Copyright