ENSIMAG STAGE DE PROGRAMMATION MATLAB. Stefanie Hahmann

Documents pareils
Introduction à MATLAB R

Calcul Formel et Numérique, Partie I

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

Calcul Formel et Numérique, Partie I

MÉTHODES NUMERIQUES. Cours. Licence de Physique Année Universitaire : Licence Chimie, parcours Physique. Semestre S3

Aide - mémoire gnuplot 4.0

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

TP 0 : INTRODUCTION À MATLAB

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

1. Structure d'un programme FORTRAN 95

= constante et cette constante est a.

TP 1 Introduction à Matlab Février 2009

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

Initiation à LabView : Les exemples d applications :

Présentation du langage et premières fonctions

Projet Matlab : un logiciel de cryptage

Programmation impérative


3.2. Matlab/Simulink Généralités

Module Communication - Messagerie V6. Infostance. Messagerie

L informatique en BCPST

Cours Informatique Master STEP

Programmation système I Les entrées/sorties

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Calculs de probabilités avec la loi normale

Compléments de documentation Scilab : affichage de texte et formatage de nombres

Utilisation de l outil lié à MBKSTR 9

Feuille TD n 1 Exercices d algorithmique éléments de correction

Introduction à la présentation graphique avec xmgrace

Programmation C. Apprendre à développer des programmes simples dans le langage C

Bulletins de notes électroniques avec Nota Bene

Simulation de variables aléatoires

Algorithmique et Programmation, IMA

Notice ARES Version 5.20 Française

Python - introduction à la programmation et calcul scientifique

USTL - Licence ST-A 1ère année Initiation à la programmation TP 1

Utiliser ma messagerie GMAIL

TABLE DE MATIERE : 1. INTRODUCTION : PAGE D ACCUEIL : OPTIONS DES TICKETS : FAQ OPTION :...

CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

Fonctions de deux variables. Mai 2011

TP1. Outils Java Eléments de correction

CAPTURE DES PROFESSIONNELS

Rappels sur les suites - Algorithme

TP1 - Prise en main de l environnement Unix.

< Atelier 1 /> Démarrer une application web

Documentation Technique du programme HYDRONDE_LN

REALISATION D UN MAILLAGE

Bien lire l énoncé 2 fois avant de continuer - Méthodes et/ou Explications Réponses. Antécédents d un nombre par une fonction

1.1 L EXPLORATEUR WINDOWS

1 Introduction - Qu est-ce que le logiciel R?

Procédure d installation de mexi backup

Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo

Débuter avec Easyweb B

Procédure de sauvegarde pour AB Magique

TP 4 de familiarisation avec Unix

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours d algorithmique pour la classe de 2nde

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Licence Sciences et Technologies Examen janvier 2010

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Initiation à la programmation en Python

MANUEL DE L UTILISATEUR

Algorithmique et programmation : les bases (VBA) Corrigé

Le Client/Serveur avec Enterprise Miner version 4

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Fonctions homographiques

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

FANTEC DB-229US Manuel de l'utilisateur

VOS PREMIERS PAS AVEC TRACENPOCHE

1. DÉMARRER UNE SESSION SÉCURISÉE SUR LE MACINTOSH SESSIONS DES APPLICATIONS CLIENTES SUR LE MACINTOSH... 5

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

REUNION INFORMATIQUE 15/09/12 Utilisation Messagerie «Webmail 2» I ) Préambule : Pourquoi l utilisation d une messagerie commune?

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

Introduction à l informatique en BCPST

Mode Opératoire Ciel Gestion commerciale V 12 et s (2006)

Cours 7 : Utilisation de modules sous python

Qualité du logiciel: Méthodes de test

I/ Se connecter sur le réseau Scribe :

Installation / Sauvegarde Restauration / Mise à jour

Optimisation, traitement d image et éclipse de Soleil

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

Utilisez Toucan portable pour vos sauvegardes

Vous avez cliqué sur le lien disponible sur le Site Uniformation. Vous venez d arriver sur cette page.

Introduction à R. Florence Yerly. Dept. de mathématiques, Université de Fribourg (CH) SP 2011

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

PRISE EN MAIN D UN TABLEUR. Version OPEN OFFICE

Bon ben voilà c est fait!

Services bancaires par Internet aux entreprises. Guide pratique pour : Rapports de solde Version

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

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

ACTUARIAT 1, ACT 2121, AUTOMNE 2013 #16

ENVOI EN NOMBRE DE SMS

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

Transcription:

ENSIMAG STAGE DE PROGRAMMATION MATLAB Stefanie Hahmann MATLAB T M : compléments de doc Le logiciel MATLAB T M permet de réaliser les opérations les plus souvent effectuées en calcul scientifique. Matlab signifie MATrix LABoratory. Ce logiciel, écrit en C, accepte et interprète des commandes données sous trois formes possibles - de façon interactive au clavier - mises dans un fichier de commandes (un script) - écrites en C ou FORTRAN, puis compilées Seules les deux premières possibilités nous intéresseront. (La troisième nécessite des appels système et une plus grande maîtrise d Unix). Le logiciel MATLAB T M ainsi que certaines de ses boîtes à outils (Toolboxes) sont installés sur mealy. Vérifiez que votre path (cf fichiers.profile ou.cshrc) comporte bien le chemin /usr/local/bin. Il suffit alors de taper matlab. Une chose importante à connaître en MATLAB T M est la commande help : - si on tape seulement help, on obtient une liste de sujets pour lesquels on peut avoir une aide en ligne. Cette aide concerne également les fichiers écrits en MATLAB T M. Ceci signifie que si vous avez un fichier Matlab toto.m et que vous tapez help toto, les premières lignes de commentaire de toto.m s afficheront. - si on tape help <nom d un sujet>, on obtient la syntaxe de la commande pour laquelle on réclame de l aide, ainsi qu une brève description de ses fonctionnalités. - help help vous affiche tout sur help. 1 Avec des nombres x=log(-1) Matlab sait aussi calculer avec des complexes y=sqrt(-1) encore un exemple x*y la multiplication s effectue grâce au signe * tanh(x) une fonction trigonométrique hyperbolique 2*angle(x) cette fonction donne la phase d un complexe abs(x) celle-ci donne le module abs(-2) ou la valeur absolue 1

abs(-2+j) conj(x) format long abs(-2+j) format short eps j remplace i pour les électriciens conjugaison changement du format d affichage (double précision) effectivement la longueur du nombre affiché a changé distance entre 1.0 et le nombre flottant immédiatement supérieur. Attention : c est un mot réservé, et toute variable epsilon sera refusée. 2 Avec des matrices A = [1 2 3 4 ; 5 6 7 8] voici une matrice en Matlab B = [1 0 1 0 en voici le début d une autre 0 1 0 1 puis la suite 0 0 1 0 encore la suite 0 0... et voici la dernière ligne coupée en deux 0 1] ouf! A = zeros(10,20) création d une matrice 10 20 de zéros A = ones(10,20) création d une matrice 10 20 de 1 A = eye(10,20) création d une matrice 10 20 avec des 1 sur la diagonale diag(a) les éléments de la diangonale de A [m,n] = size(a) m = nombre de lignes de A, n = nombre de colonnes A*B le produit de matrices, c est simple A\b résout Ax = b A\B calcule A 1 B (produit par l inverse à gauche) A/b résout xa = b A/B calcule A B 1 (produit par l inverse à droite) p=poly(b) le polynôme caractéristique de B roots(p) les racines du polynôme caractéristique de B roots1(p) idem, avec une autre méthode format long C = [0.01 0-1 ; 0 0-1 ; 0 1 0] une autre matrice on inverse une matrice très facilement C(1:1) = 1e-7 ça marche C(1:1) = 1e-12 ça marche encore C(1:1) = 1e-16 problème, mais Matlab est lucide et connaît ses limites exp(b) exponentielle de chaque coefficient de B expm(b) exponentielle de la matrice B c = rand(5) génération aléatoire de matrices: c de taille 5 5 c = rand(a) c de mêmes dimensions que A (i.e. 4 2) rand( uniform ) pour changer la distribution ou rand( normal ) rand( dist ) pour connaître la distribution 2

3 Les fonctions qui rendent plusieurs résultats - valeurs propres de B : lambda = eig(b) et les vecteurs propres? [v, lambda] = eig(b) ; v est une matrice dont les colonnes sont les vecteurs propres de B, lambda est une matrice diagonale, et les éléments de lambda sont les valeurs propres correspondantes. - décomposition LU : u = lu(b) [l, u, p] = lu(b) : p*b = l*u, p est une matrice de permutation, l et u sont les matrices de la décomposition LU. [l1, u] = lu(b) : B = l1*u avec l1 = p 1 *l. - décomposition QR : [q,r] = qr(b) 4 Les fichiers Il est possible d écrire des instructions Matlab dans un fichier suffixé par.m. Ces fichiers sont appelés des M-fichiers dans la documentation Matlab. Ces fichiers sont de deux sortes : les scripts et les functions. - fichier script : exemple : fibo.m % Ce signe permet d introduire un commentaire % Ce fichier calcule les 100 premiers termes de la suite de Fibonacci f=[1 1]; % le caractere ";" permet d eviter l affichage du resultat i = 1; while i < 100 f(i+2) = f(i+1) + f(i); % au passage, remarquez la programmation dynamique % Matlab agrandit le vecteur f au fur et a mesure des besoins i = i+1; end plot(f) Pour appeler cette suite de commandes, il suffit que ce fichier se trouve dans un des répertoires spécifiés dans la variable d environnement MATLABPATH et de taper fibo dans la session Matlab. - fichier function : exemple : fibo1.m On va pouvoir choisir à quel terme on s arrête et récupérer fibo(i) et fibo(i+1). function [fi, fii] = fibo1(ind) for i=1:ind+1 f(i+2) = f(i+1) + f(i); i = i+1; 3

end plot(f); fi = f(ind); fii = f(ind + 1); Pour utiliser cette fonction, il suffit d appeler fibo1(20). Remarque : ceci implique que l on ne peut mettre qu une fonction par fichier, puisque la fonction et le fichier doivent avoir le même nom. - save cette commande sauve des variables matlab dans un fichier <file>.mat (par défaut matlab.mat), sous une forme non ascii, sauf si on utilise l option -ascii. - load cette commande charge des variables sauvées par save. - diary cette commande permet de sauvegarder une session sous forme ascii : diary toto sauve toute la session qui va venir dans le fichier toto diary off cesse de sauvegarder la session - fscanf comme en C on peut lire dans un fichier ascii. p.ex.: % lecture d un fichier de reels fid = fopen( fname, r ) y = fscanf(fid, %f, n) % lit les n premier reels % si n n est pas precise, tout est lu jusqu a EOF. fclose(fid) - fprintf comme en C on peut écrire dans un fichier ascii. p.ex.: % ecrire des donnees reelles dans le fichier fname: fid = fopen( fname, w ) fprintf(fid, %f %f \n, y) % ecrit 2 elements par ligne fclose(fid) Pour plus de renseignements utilez la commande help. 5 Autres fonctions utiles - input cette commande permet de lire des données au clavier. val = input( Entrez une valeur ) 4

- disp cette commande permet d écrire des données à l écran. disp( Voici la valeur ) disp(val) - error cette commande permet d afficher un message d erreur. - Pour connaître la durée d un calcul t = clock; on prend le temps au début calculs duree = etime(clock, t); on a la durée des calculs. - who, whos who permet de savoir quelles sont les variables utilisées whos permet en plus de connaître leur place mémoire. - clear permet d effacer toutes les variable de la session. - sort trie dans l ordre croissant. - les possibilités graphiques : hist(vecteur) dessine l histogramme du vecteur plot(vecteur) dessine une courbe (i, vecteur(i)) mesh(matrice) donne un beau dessin en 3-D subplot(n,m,p) partage la fenêtre graphique en une (n, m)-matrice. Le graphique actuel sort dans la p-ème case. 5