• Aucun résultat trouvé

TP05 - Moyenne glissante

N/A
N/A
Protected

Academic year: 2022

Partager "TP05 - Moyenne glissante"

Copied!
1
0
0

Texte intégral

(1)

informatique - S1

TP05 - Moyenne glissante

département Mesures Physiques - IUT1 - Grenoble

Les relevés expérimentaux des variations d’une grandeur physique se pré- sentent souvent sous forme bruitée.

Pour « lisser » ces valeurs on souhaite leur appliquer un filtre numérique : le filtre moyenne glissante.

Cela consiste à remplacer chacune des valeurs relevées par la moyenne de cette valeur avec ses deux voisines de gauche et ses deux voisines de droite : par exemple, on remplacey10par la moyenney8+y9+y10+y11+y12

5 .

1. Écrire une fonction Lecturequi prend comme paramètre un nom de fichier (chaîne de caractères) et renvoie la liste des valeurs présentes dans le fichier (à raison d’une valeur par ligne).

2. Écrire une fonction Ecriturequi prend comme paramètre un nom de fichier et une liste de réels, et qui écrit dans le fichier les valeurs de la liste.

3. Écrire une fonction Filtre qui prend en paramètres une liste, et qui renvoie la liste des valeurs « moyennée » : on remplace chaque valeur par la moyenne des 5 valeurs les plus proches. Quand le calcul s’avère im- possible (donc pour les deux premières et les deux dernières valeurs), on n’applique pas de filtre et on conserve simplement la valeur.

4. Écrire un programme qui, en utilisant les valeurs précédentes : - lit des données brutes dans le fichier

X:\Informatique\Programmation\Donnees\Spectre.txt

- écrit les valeurs filtrées dans un fichier Spectre_Filtre.txt

dans votre répertoire,

- trace successivement les données brutes et les graphe des données fil- trées (on placera ces valeurs en ordonnées, avec des abscisses 0, 1, 2, . . .) 5. Écrire une fonctionFiltreParam, plus générale queFiltre, qui tra- vaille non pas sur 5 mais sur 2n+1 valeurs,n étant un paramètre para- mètre supplémentaire passé à la fonction.

6. Améliorer encore le programme en utilisant une fonction FiltreParam2 qui au bord fait une moyenne avec les valeurs éven- tuellement disponibles à gauche et à droite de la valeur à traiter.

Par exemple pour une liste de 100 valeurs etn=2:

sur le bord « gauche » de la liste, pour X[0], on calcule la moyenne de cette valeur et des deux disponibles à droiteX[1], X[2],

pourX[1], on utilise l’unique valeur disponible à gauche et deux valeurs à droite, soit en toutX[0], X[1], X[2], X[3],

au « centre » de la liste par exemple pour X[12] on utilise 5 valeurs X[10], X[11], X[12], X[13], X[14],

sur le bord « droit » de la liste, pourX[99]deux valeurs disponibles à gaucheX[97], X[98], X[99],

etc.

Références

Documents relatifs

• Si le nom du théorème ne comprend pas de nom de mathématiciens ni de physiciens, on se base sur le premier substantif (nom commun ou adjectif) apparaissant en dehors du mot

[r]

[r]

public static void lireEnreg (String nomFichier) Lit dans le fichier client client dont le nom est passé en paramètre, un enregistrement et affiche sur la console les informations

écrire une fonction lecture qui relit dans un fichier des valeurs en- tières écrites à raison d’une par ligne, place ces valeurs dans un ta- bleau, et renvoie le nombre de lignes

Écrire une fonction relecture qui prend comme paramètre un nom de fichier (chaîne de caractères), un tableau de réels, puis qui place dans le tableau les valeurs présentes dans

Créer une fonction Lecture1 qui prend comme paramètres un nom de fichier (chaîne de caractères) nom et qui renvoie la liste des valeurs lues dans le fichier2. (on suppose que le

Ecrire une fonction Lecture qui prend comme paramètres une chaîne de caractères nomfichier et un tableau de réels Epreuve, puis qui relit dans le fichier dont le nom est contenu