http://www.ups-tlse.fr L3 Sciences Pour l Ingénieur - Outils Informatiques Travaux Pratiques TP n 5 Mars 2013 Quelques conseils de travail Avant de poser une question à votre enseignant, expérimentez par vous même! C est sans danger (ou presque) Si le temps vous manque, vous pourrez venir travailler dans les salles informatiques en libre service. Surveillez les plannings d occupation affichés à la porte des salles pour s assurer des disponibilités. N hésitez pas à utiliser la messagerie électronique ou le téléphone pour communiquer avec votre enseignant en cas de problème ou de question! N imprimer que des documents textuels (code source par exemple). Assurez-vous en en listant le contenu des fichiers avant de les imprimer. Windows et Octave : Comment faire? Avec le système d exploitation Windows, Octave se présente sous la forme d un interpréteur de commande. Lorsque vous démarrez Octave, un terminal de commande prêt à recevoir du code Octave se lance. C est dans cette fenêtre que vous demanderez à Octave d exécuter vos programmes pour voir le résultat. Lorsque vous voulez programmer un calcul via Octave deux options s offres à vous : 1. Saisir votre programme directement dans la console 2. Saisir votre programme dans un fichier stocké sur votre ordinateur et demandez à Octave d exécuter ce fichier Programmer directement dans la console Cette possibilité, très pratique vous permet d effectuer des calculs en les tapant directement dans la console. On valide une opération en tapant sur entrée. Figure 1: quelques commandes basiques dans la console octave Lorsqu une opération est effectuée, le système renvoi la réponse sous cette forme : ans =.(Figure 1). Si on désire programmer une séquence d opérations en une fois, il suffit de séparer chaque opération par le caractère «;». Toutefois, ce mode ne permet de connaitre que le résultat de la dernière opération (Figure 2). De plus, vous observerez que l édition du texte dans la console est particulièrement limité et inefficace. Il est donc à réserver pour les programmes courts et pour vos tests ponctuels.
Page 2 Travaux Dirigés Outils informatiques Figure 2 : Séquence d opérations dans une console Octave Pour palier à ce problème, il est possible d éditer vos programmes dans un fichier (.m) et de demander à octave de les exécuter. C est l objet de la partie suivante. Programmer dans un fichier.m La première chose à faire est de sélectionner/créer un répertoire sous Windows où vos fichiers seront stockés. Puis il faut positionner Octave au sein de ce répertoire. Pour cela il est nécessaire de connaitre l arborescence de fichier de votre ordinateur. Vous pouvez la visualiser avec n importe quelle fenêtre Windows. Par défaut, Octave s exécute depuis le répertoire qui le contient, il est donc capable d accéder uniquement aux fichiers de ce répertoire (C:\Octave\3.2.4_gcc- 4.4.0\bin dans l exemple de la Figure 3). La première chose à faire quand on veut travailler avec des fichiers contenant des programmes est donc de positionner votre dossier personnel (ou vous allez stocker vos fichiers contenant vos programmes) comme répertoire de travail d Octave. Deux solutions sont possibles et complémentaires : ligne de commande et graphiquement. Positionnement du répertoire de travail en ligne de commande Utilisez la commande pwd pour connaitre le répertoire dans lequel vous vous situez (par défaut répertoire ou Octave est installé sur l ordinateur) Figure 3 : Répertoire d exécution d Octave par défaut Utilisez la commande cd pour vous positionnez dans le répertoire de votre choix. ATTENTION : il est fortement recommandé de choisir un chemin d accès à votre répertoire où il n y a pas d espace (par exemple évitez quelque chose de ce genre : «C:\Les TDs\Exercice 1\») Figure 4 : Exemple d utilisation de commandes dans Octave Ci-dessous quelques commandes utiles : clear Efface la mémoire d Octave, toutes vos variables sont effacées quit Ferme octave pwd Montre le répertoire de travail courant (idéalement votre dossier personnel) cd cd MonRepertoire : vous descendez dans le répertoire MonRepertoire cd.. : vous remontez dans le répertoire parent dir Liste le contenu du répertoire de travail Positionnement du répertoire de travail graphiquement Comme le montre la Figure 5, vous pouvez glisser l icône de votre dossier personnel dans Octave. Cela vous évite de le taper et de faire des erreurs éventuelles. Come pour la version ligne de commande, précédez le chemin vers votre dossier personnel de la commande cd et tapez entrée.
Travaux Dirigés Outils informatiques Page 3 Figure 5 : Glisser le chemin d accès vers son répertoire de travail graphiquement Environnement de travail final Une fois Octave positionné dans votre répertoire personnel, vous n avez plus qu à exécuter les programmes que vous aurez préalablement saisis dans un fichier texte. Pour cela, il vous suffit de taper dans la fenêtre octave le nom du fichier contenant votre programme pour qu il s exécute. Si votre fichier contenant votre programme s appelle test.m, il suffit de taper test dans Octave et il s exécute. Voici à quoi votre environnement de travail devrait ressembler. Fenêtre Octave Editeur de texte (bloc-note, Notepad++) Votre répertoire personnel contenant vos programmes Attention : dans les programmes Octave vous pouvez sauter des lignes. Seules les résultats des lignes qui ne sont par terminée par le caractère «;» sont affichés. Commandes Octaves additionnelles La commande clear permet de réinitialiser l environnement Octave et d effacer toutes les variables. Nombres, vecteurs et matrices Octave sait manipuler plusieurs types de données : réels, nombres complexes (noms de variables i et j réservées) et plusieurs structures : vecteurs (1 dimension / vecteur-colonne et vecteur-ligne), matrices (2 dimensions) et matrices multidimensionnelles. Affichage en 2D Pour dessiner le graphique d'une fonction, il faut d'abord définir l'intervalle où la fonction va prendre ses valeurs. Ensuite, grâce à la fonction "plot()", nous pouvons dessiner la fonction (voir Figure 6)
Page 4 Travaux Dirigés Outils informatiques Figure 6 : Affichage de la fonction cosinus octave> x = [0:0.05:2*pi]; octave> y = cos(x); octave> plot(x,cos(x)) octave> title( cosinus ) octave> xlabel( x [0:2pi] ) octave> ylabel( cosinus(x) ) Nous prenons [0,2π] et un pas de 0,05 entre chaque valeur. On applique la fonction cosinus sur l ensemble de données On affiche les données On ajoute un titre au graphique Puis un label en x et en y La commande hold on permet de pouvoir superposer des graphes sur une même plage de variation (hold off pour annuler) Exercices 4.1 Nombres complexes 1 ) On considère les nombres complexes suivants : Déterminer le module et l argument de a, b et a/b 2 ) Soit Le plan complexe est muni d un repère orthonormé On considère les points M 1, M 2, M 3 et M 4 d affixes respectives z, z 2, z 3, z 4 Déterminer le module et l argument de z, z 2, z 3, z 4 Placer les points M 1, M 2, M 3 et M 4 sur le repère 3 ) Montrez avec Octave que i -i est un nombre réel 4.2 Vecteurs Les points A et B ont pour coordonnées respectives (3, 5, -2) et (4, -3, 1). 1 ) Calculer les coordonnées du vecteur 2 ) Calculer les coordonnées du point I, milieu de [AB]. 3 ) Les vecteurs et (-2,7,0) sont ils colinéaires? 4 ) Quelles sont les coordonnées du vecteur? 5 ) Quelles sont les coordonnées du vecteur?
Travaux Dirigés Outils informatiques Page 5 4.3 Matrices Soient P(X) = 4X 2 - X 3 et Q(X) = 1 + 2X + 3X 2 - X 3 Soit et 1 ) Calculer P(A) et Q(B) 2 ) A est-elle inversible? B est-elle inversible? Si oui, calculer A -1 et B -1 3 ) Créer une matrice Z 4x4 remplie de zéros et afficher le résultat 4 ) Créer une matrice R 4x4 remplie de données aléatoires et afficher le résultat 5 ) Calculer t R (transposée de R) puis t (R -1 ). Vérifier que le résultat est égale à t (R) -1 4.4 Équations Résoudre le système d équations suivant : 4.5 Série de données Définissez une série de données sur l intervalle [-2,1] avec un pas de 0,2. 1 ) Calculer la fonction y = tan(2x-1) cos(x) 2 ) Afficher les résultats de la fonction 4.6 Lecture de données à partir d un fichier On peut lire des données issues de capteurs ou d expérimentation pour pouvoir les traiter dans Octave 1 ) charger le fichier «chute_tp5.txt» a = load ( -ascii, chute_tp5.txt ) 2 ) Extraire la 1 ère colonne de a en la sauvant dans un vecteur «temps» 3 ) Extraire la 2 ème colonne de a en la sauvant dans un vecteur «espace» 4 ) Afficher le résultat de temps/espace de manière graphique 5 ) Sauvegarder l ensemble des données de la session octave dans un fichier nommé TP5 6 ) Quitter octave et récupérer votre session 7 ) Afficher le vecteur «espace» 4.7 Algorithmique et programmation Maintenant que vous connaissez les bases d Octave vous pouvez commencer à programmer les exercices 2 et 3 du TP4 d algorithmique.