Informatique - TD 3 Graphiques, diagrammes et aléatoire

Documents pareils
Cours 7 : Utilisation de modules sous python

Aide - mémoire gnuplot 4.0

Fonctions de deux variables. Mai 2011

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Réalisation de cartes vectorielles avec Word

Python - introduction à la programmation et calcul scientifique

Infolettre #18 : Les graphiques avec Excel 2010

SINE QUA NON. Découverte et Prise en main du logiciel Utilisation de bases

Logiciel XLSTAT version rue Damrémont PARIS

Annexe commune aux séries ES, L et S : boîtes et quantiles

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Estimation et tests statistiques, TD 5. Solutions

Activité 11 : Nuage de points ou diagramme de dispersion


INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

Designer d escalier GUIDE DE L UTILISATEUR. Stair Designer-1

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var Tel : bij@agasc.fr Word: Les tableaux.

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

MetaTrader pour IPhone. Guide d utilisation

Lecture graphique. Table des matières

Excel 2007 Niveau 3 Page 1

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

UFR de Sciences Economiques Année TESTS PARAMÉTRIQUES

L analyse boursière avec Scilab

RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3

Planifier et contrôler un projet avec Microsoft Project

TSTI 2D CH X : Exemples de lois à densité 1

Débuter avec Excel. Excel

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Correction du baccalauréat STMG Polynésie 17 juin 2014

Formation Informatique. Utiliser les périphériques informatiques

VOS PREMIERS PAS AVEC TRACENPOCHE

Premiers Pas avec OneNote 2013

OM 1 Outils mathématiques : fonction de plusieurs variables

Calcul Formel et Numérique, Partie I

Utilisation du logiciel Epson Easy Interactive Tools

TUTORIEL PAINTPOT. Louise Henninot - Anne- Cécile Patou - Julie Roquefort

MANUEL GANTT PROJECT

Statistique : Résumé de cours et méthodes

TP Protocoles SMTP et POP3 avec Pratiquer l algorithmique

Optimisation, traitement d image et éclipse de Soleil

Fête de la science Initiation au traitement des images

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

SOMMAIRE 1 INTRODUCTION 3 2 CONTACTER VOTRE SUPPORT 3 3 ESPACE DE GESTION DES CARTES 4 4 CONFIGURER UNE CARTE 5

Comment sélectionner des sommets, des arêtes et des faces avec Blender?

Loi binomiale Lois normales

Voyez la réponse à cette question dans ce chapitre.

Tutoriel. Votre site web en 30 minutes

Mise en scène d un modèle dans l espace 3D

Guide de démarrage rapide. (pour la version 5.0.)

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Volet de visualisation

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

CHAPITRE. Le mouvement en deux dimensions CORRIGÉ DES EXERCICES

Traitement des données avec Microsoft EXCEL 2010

Séance 0 : Linux + Octave : le compromis idéal

DURÉE DU JOUR EN FONCTION DE LA DATE ET DE LA LATITUDE

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Cours Fonctions de deux variables

pyensae StockPrices September 1, Manipulation de séries financières avec la classe StockPrices

FAIRE UN PAIEMENT TIPI

Note de cours. Introduction à Excel 2007

Chapitre 4 : Guide de Mouvement et Masque

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Dans l Unité 3, nous avons parlé de la

Sommaire. Images Actives Logiciel libre développé par le CRDP de l académie de Versailles 2 Rue Pierre Bourdan Marly le Roi

Statistiques à une variable

Utiliser le logiciel Photofiltre Sommaire

SPHINX Logiciel de dépouillement d enquêtes

GUIDE DE DÉMARRAGE. SitagriPro Infinite FINANCEAGRI. Un service. c o r p o r a t e

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

C.F.A.O. : Conception et Fabrication Assistées par Ordinateur.

IV- Equations, inéquations dans R, Systèmes d équations

Calcul Formel et Numérique, Partie I

Initiation à Excel. Frédéric Gava (MCF)

Expérience 3 Formats de signalisation binaire

Présentation de Firefox

Tp_chemins..doc. Dans la barre "arche 2" couleur claire 1/5 21/01/13

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Traceur de courbes planes

Guide de l utilisateur Mikogo Version Windows

Nom : Groupe : Date : 1. Quels sont les deux types de dessins les plus utilisés en technologie?

MetaTrader 4/5 pour Android. Guide de l utilisateur

Utilisation de XnView

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

Planète Multimédia. Voici le logo qu il faut choisir : et tapez sur puis acceptez.

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

ET 24 : Modèle de comportement d un système Introduction à Labview et initiation à la réalisation d un Instrument Virtuel (VI).

INTRODUCTION. Pour réaliser une pièce sur Charlyrobot, il faut le faire en trois étapes :

Excel Avancé. Plan. Outils de résolution. Interactivité dans les feuilles. Outils de simulation. La valeur cible Le solveur

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE LA FORMATION PROFESSIONNELLE. Microsoft. Excel XP

COMPTE-RENDU «MATHS EN JEANS» LYCEE OZENNE Groupe 1 : Comment faire une carte juste de la Terre?

Tutoriel BLOGGER. Pour vous donner une idée, voici un exemple de blog :

TUTORIEL CartoDB 11/03/15

La fonction exponentielle

Transcription:

Informatique - TD 3 Graphiques, diagrammes et aléatoire Bcpst - Lycée F1 Rappels et extensions sur les outils graphiques de base Rappel : Pour faire des graphiques en Python, on introduit les bibliothèques numpy et matplotlib.pylab. Une documentation complète (mais en anglais... et oui...) est disponible sur le site http ://matplotlib.org/. Vous y découvrirez les nombreuses possibilités de cette bibliothèque (Histogrammes, diagrammes, barres d erreurs, boites à moustaches et beaucoup d autres). On rappelle que pour Python, un graphique est un ensemble de points (abcisses + ordonnées) reliés entre eux dans un ordre précis. Une première fonction pour des graphiques "simples" est plot. Quelques commandes utiles : 1 import matplotlib. pylab as plt 3 plt. plot # permet de créer un graphique 4 plt. show () # permet d afficher le graphique plt. clf () # permet d effacer le graphique 6 plt. savefig (" nom_du_fichier ") # permet d enregistrer le graphique 7 plt. legend # met en place une légende 8 plt. title # donne un titre au graphique 9 # et beaucoup d autres options consultables dans l aide. Exercice 1: [Correction] 1. a) Tracer un cercle de centre (, ) et de rayon 1. b) Rajouter à l intérieur un carré dont les sommets sont sur le cercle.. a) Sur un graphique différent de la première question, tracer la courbe de la fonction f : x > x cos x 1 sur l intervalle [; π]. b) Sur le même graphique, rajoutez les axes ainsi qu un titre. On constate que jusque là, si on voulait pouvoir visualiser deux graphiques en même temps, il fallait nécessairement les superposer sur un même dessin. Or ceci n est pas toujourd pertinent (si les deux courbes ou dessins n ont aucun rapport). Nous allons voir ici comment obtenir plusieurs graphiques indépendants. Exercice : [Correction] Avoir plusieurs fenêtres contenant chacune un graphique 1 plt. figure (1) # démarre une première figure. On fait son dessin comme d habitude plt. figure () # démarre une autre fenêtre graphique. 3 # etc... 4 plt. show () # affiche les deux fenêtres. 1. Afficher les deux graphiques de l exercice 1 (carré inscrit dans un cercle et fonction f) sur deux fenêtres distinctes.. Écrit ainsi, les deux fenêtres portent comme nom "figure 1" et "figure ". Si on veut modifier ceci, il suffit de mettre un nom à la place des nombres 1 et. Testez sur les figures de la question précédente de manière à leur donner les noms respectifs "Carré inscrit" et "fonction f". Exercice 3: [Correction] Avoir deux dessins côte à côte dans une même fenêtre. Pour ceci, nous allons utiliser la commande subplot de plt. Tapez les commandes suivantes : 1 plt. figure ( cote à cote ) # nom de la fenêtre graphique plt. clf () 3 4 plt. subplot ( 11) # premier graphique, à gauche 6 X =[,] 7 Y =[,] 8 plt. plot (X,Y) 9 plt. subplot ( 1) # deuxième graphique, à droite 11 1 X=np. linspace (,,) 13 Y=[x** for x in X] 14 plt. plot (X,Y) 1. Changer les valeurs 1, par d autres chiffres dans les subplot et observer les résultats. 1 TD 3: Graphiques, diagrammes et aléatoire

En fait, subplot(xyz) découpe la zone graphique sous la forme d un quadrillage invisible avec x cases en hauteur et y cases en largeur (donc au total x y cases.) z est ensuite le numéro de la case dans lequel on souhaite mettre le graphique, sachant que les cases sont numérotées de gauche à droite et de haut en bas, en commençant par le n o 1. Par exemple, pour x =, y = 3 : 1 3 4 6. Réécrire les quelques lignes ci-dessus de manière à obtenir le résultat suivant : (constatez qu on a déplacé les graphiques, mais également mis des titres... ) 8 6 4 droite y=x 4 6 8 fonction carré 4. 3. 3... 1. 1..... 1. 1... On peut également changer la largeur des barres si on le souhaite. Cherchez l option qui correspond et testez là avec des barres de largeur 1. 3. a) Nous allons maintenant tenter de rajouter une deuxième série de valeurs. Tapez 1 Y =[,3,,6] plt. bar (X,Y) 3 plt. show () et observez le résultat. b) On constate une superposition des valeurs très peu lisible. On va donc modifier ceci en proposant une couleur différente pour chaque série de valeur. Cherchez l option et appliquez là avec une couleur de votre choix. c) En observant les résultats, on constate que les deux séries se superposent en se dessinant l une au dessus de l autre. Proposer une solution d affichage qui permettrait d obtenir plutôt ceci : 1 4 6 7 8 9 11 Diagrammes en barres Ayant une distribution de valeurs dans un tableau ou dans une liste, on souhaite expliquer graphiquement les résultats. Pour faire un diagramme, on a besoin essentiellement : - des abscisses X : les valeurs dont on désire le nombre d occurences - des ordonnées Y : le nombre d occurences Exercice 4: [Correction] Premiers diagrammes à l aide de la fonction bar 1. Tapez dans votre éditeur le séquence suivante : 1 plt. clf () X =[4,,7,] 3 Y1 =[14,6,,3] 4 plt. bar (X,Y1) plt. show () et observez le résultat. On constate que les valeurs dans la liste X correspondent au bords "gauches" de chaque barre. d) Proposer une autre solution d affichage qui permettrait maintenant d obtenir les deux graphiques supersposés l un au-dessus de l autre de la manière suivante : 1 4 6 7 8 9 11 Une fois effectué cette démarche, notons qu il existe une option de la fonction bar qui permet de faire ceci. C est l option bottom ; tapez 1 X =[4,,7,] Y1 =[14,6,,3] 3 Y =[,3,,6] 4 plt. bar (X,Y1, color = r ) plt. bar (X,Y, bottom =Y1, color = y ) 6 plt. show () TD 3: Graphiques, diagrammes et aléatoire

4. Rajouter une légende : Pour l instant, on ne sait pas ce qui, sir le graphique, correspond à Y1 et à Y. Nous allons donc rajouter une légende. Pour ce faire, il faut : - donner un nom aux diagrammes : 1 1 b1=plt. bar (X,Y1, color = r ) b=plt. bar (X,Y, bottom =Y1, color = y ) G1 G G3 G4 - puis leur attribuer leur nom : 1 plt. legend ( (b1 [], b []), ( Y1 ; Y ) ) plt. show () et ça y est. Vous devez obtenir ceci : Pour ce faire, il faut utiliser la commande xticks : Tapez 1 plt. xticks (X, ( G1, G, G3, G4, G ) ) Vous constatez que les G apparraissent, mais en lieu et place des valeurs de X données. Si on veut "centrer" ces valeurs sur les barres (comme sur le graphique ci-dessus) on peut légèrement décaler les abcisses de la manière suivante : 1 Y1 Y 1 absc =[i +.4 for i in X] plt. xticks (absc, ( G1, G, G3, G4, G ) ) 4 6 7 8 9 11. Admettons pour finir que vous souhaitez ajouter des barres d erreur sur votre graphique. Supposons ces valeurs données par la séquence suivante pour le graphique de Y1 bar_erreur_y1=[,,3,1]. Dessinons là sur le graphique grâce à l option yerr : 1 bar_erreur_y1 =[,,3,1] b1=plt. bar (X,Y1, color = r, yerr = bar_erreur_y1 ) 3 plt. show () Exercice : [Correction] Supposons que nous ayons étudié le caractère "couleur des yeux" sur une population d un même nombre d hommes et de femmes et que nous ayons obtenu les résulats suivants : Bleu Vert Marron Noir Total Hommes 13 4 13 Femmes 3 4 33 13 Faire les deux types de diagramme (valeurs "superposées" et "côte à côte") qui décrivent les résultats. Diagrammes et aléatoire Supposons qu on ait également une barre d erreur pour le deuxième graphique bar_erreur_y=[1,.,.,], écrire une séquence qui permet d afficher les deux graphiques superposés avec légende et les barres d erreurs pour chacun d entre eux. 6. Une dernière option étudiée ici est celle qui permet de remplacer les valeurs de l axe des abcisses par des noms. Supposons que nous souhaitions voir apparaître dans le graphique [G1,G,G3,G4] à la place des valeurs de X de la manière suivante : Exercice 6: [Correction] La machine de Galton La planche de Galton réalise l expérience aléatoire suivante. Des clous sont disposés en pyramide, de sorte qu en lâchant une bille sur le clou supérieur, celle-ci tombe indifféremment à gauche ou à droite, pour rebondir ensuite de la même façon sur le clou suivant, jusqu à finir sa chute dans un réservoir. 3 TD 3: Graphiques, diagrammes et aléatoire

Exemple d une pyramide à 3 niveaux : On laisse choir une collection de billes sur une pyramide à n niveaux et on observe la répartition obtenue en fin d expérience dans les n + 1 réservoirs. Le but de cet exercice est de modéliser cette expérience et d observer les résultats obtenus sous la forme d un diagramme. Partie 1 Mise en place du jeu aléatoire 1. Écrire une fonction reservoir(n) qui simule la chute d une bille sur une pyramide de n étages et rend le numéro du réservoir dans lequel elle atterrit.. Écrire une fonction reservoir_total(n,n) qui simule la chute de N billes sur n niveaux et rend le nombre de billes dans chaque réservoir. 3. Quelle est la loi simulée ici? Partie : Diagramme d une série de chute 4. Écrire une fonction diagramme_galton(n,n) permettant d afficher sous forme de diagramme le nombre de billes dans chaque réservoir après une série de N chutes sur une machine à n étages.. On souhaite maintenant établir la précision des résultats obtenus. Partons d une machine à n étage. Définir une fonction Diagramme_moyen(a,N,n) qui effectue les démarches suivantes : Récupérer dans un tableau ou une liste Recup les résultats de a fois la reproduction de reservoir_total(n,n). (L expérience a donc été réalisée en tout a*n fois.) Définir une nouvelle liste moyenne qui détermine le nombre moyen d occurence de chaque réservoir, ainsi qu une liste ecart_type correspondant à l écart-type expérimental observé sur l échantillon. Faire apparaître le nombre moyen d observations de chaque réservoir sous forme de diagramme, ainsi que les barres d erreurs associées. a) Pour une même valeur de N et n, testez avec plusieurs valeurs de a, par exemple a =,,. Voyez vous les écart-type diminuer? Pensezvous que c est vraiment un bon indicateur de précision? 4 TD 3: Graphiques, diagrammes et aléatoire

Bcpst Lycée François 1 er FE 3 - Graphiques, diagrammes et aléatoire Solutions Exercice 1 1. a) Pour tracer le cercle, on importe d abord les bibiothèques nécessaires puis on trace 1 import numpy as np # pour linspace import math as mt # pour le cos et le sin 3 import matplotlib. pylab as plt # pour le plot 4 # tracer un cercle de centre O et de rayon 1 6 Arg =np. linspace (,* np.pi,) 7 X=[ mt.cos ( theta ) for theta in Arg ] 8 Y=[ mt.sin ( theta ) for theta in Arg ] 9 plt. clf () 11 plt. plot (X,Y) 1 # Rajouter un carré : deuxième façon 3 a=mt. sqrt () / 4 XCp =[a,a,-a,-a,a] YCp =[ -a,a,a,-a,-a] 6 plt. plot (XCp, YCp ) ce qui donne : 1.... b) Il y plusieurs façons de placer des carrés dans le cercle. En voici une ci-dessous 1 # Rajouter un carré : 1 ère façon 3 XC =[,1,, -1,] 4 YC =[ -1,,1,, -1] plt. plot (XC,YC) dont le résultat donne 1. 1. 1.... 1.. a) Le programme peut être le suivant : 1 plt. clf () X=np. linspace (,* mt.pi,) 3 Y=[x *** mt.cos (x) -1 for x in X] 4 plt. plot (X,Y) qui donne le résultat : 4. 3.. 1. 1.... 1. 1 3 4 6 7 Une deuxième possibilité est par exemple : TD 3: Graphiques, diagrammes et aléatoire

Exercice 3. On propose : 1 plt. figure ( cote à cote ) plt. clf () 3 4 plt. subplot ( 11) # Premier graphique 6 X =[,] 7 Y =[,] 8 plt. plot (X,Y) 9 plt. title ( droite y=x ) 11 plt. subplot ( 4) # Deuxième graphique 1 13 X=np. linspace (,,) 14 Y=[x** for x in X] 1 plt. plot (X,Y) 16 plt. title ( fonction carré ) Exercice 4 1. On obtient le diagramme : 1 4 6 7 8 9 11. Pour savoir comment se comporte la fonction bar, effections une recherche dans l aide 1 help ( plt. bar ) On trouve l option width qui permet de gérer la largeur des barres. Si on veut par exemple des barres de largeur 1 : 1 plt. clf () X =[4,,7,] 3 Y1 =[14,6,,3] 4 plt. bar (X,Y1, width =1) plt. show () ce qui donne 1 4 6 7 8 9 11 3. a) On obtient : 1 4 6 7 8 9 11 6 TD 3: Graphiques, diagrammes et aléatoire

Exercice 6 1. Si on modélise la chute sous la forme d une liste de et 1 et que l on numérote les réservoir de à n depuis la gauche, alors on obtient : 1 import random as rd 3 def reservoir (n): 4 Cette fonction rend le numéro du réservoir ( numérotés de à n) dans lequel attérit la bille après une chute de n étages. L=[ rd. randint (,1) for i in range (n)] 6 return ( sum (L)). 1 def reservoir_total (N,n) resu =[ for i in range (n +1) ] 3 L= reservoir (n) for i in range (N)] 4 for i in range (N) resu [L[i ]]+=1 6 return ( resu ) 3. C est une loi binomiale de paramètre n et p = 1.. On peut proposer, de manière compacte : 1 def Diagramme_moyen (a,n,n): Recup =[ reservoir_total (N,n) for i in range (a)] 3 # recup [ i][ j] nb d occurences du reservoir j dans l expérience i 4 # [ Recup [i][j] for i in range (a)] est le nombre d occurence total du réservoir j. moyenne =[ sum ([ Recup [i][j] for i in range (a)])/a for j in range (n +1) ] 6 # Recup [i][j] - moyenne [j] correspond à l écart à la moyenne du réservoir j pour l expérience i 7 ecart_type =[ mt. sqrt ( sum ([( Recup [i][j] - moyenne [j]) ** for i in range (a)])/a) for j in range (n +1) ] 8 9 plt. clf () plt. bar ( range (n +1),moyenne, width =1, yerr = ecart_type, color = r ) 7 TD 3: Graphiques, diagrammes et aléatoire