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



Documents pareils
Calcul Formel et Numérique, Partie I

Calcul Formel et Numérique, Partie I

Introduction à MATLAB R

TP 1 Introduction à Matlab Février 2009

TP 0 : INTRODUCTION À MATLAB

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.

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

Cours 7 : Utilisation de modules sous python

Python - introduction à la programmation et calcul scientifique

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

Aide - mémoire gnuplot 4.0

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB


Initiation à LabView : Les exemples d applications :

1. Structure d'un programme FORTRAN 95

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

STAGE IREM 0- Premiers pas en Python

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

LES TYPES DE DONNÉES DU LANGAGE PASCAL

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

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

Cours Informatique Master STEP

Présentation du langage et premières fonctions

Maple: premiers calculs et premières applications

Correction de l examen de la première session

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

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Algorithmique et programmation : les bases (VBA) Corrigé

Premiers pas avec Mathematica

Introduction à Matlab

Corrigé des TD 1 à 5

Chapitre 2. Matrices

L informatique en BCPST

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Logiciel. Table de matières I Environnement requis...2

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument

Initiation à la programmation en Python

Algorithmique et Programmation, IMA

Résolution de systèmes linéaires par des méthodes directes

Rappels sur les suites - Algorithme

TP : Gestion d une image au format PGM

Cours d analyse numérique SMI-S4

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

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

Projet Matlab : un logiciel de cryptage

TP 1. Prise en main du langage Python

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

INF 321 : mémento de la syntaxe de Java

L ALGORITHMIQUE. Algorithme

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

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

1 Recherche en table par balayage

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

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

Petit Guide de Survie en Scilab

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

Automatique des systèmes linéaires continus

INTRODUCTION. Introduction (2) Espace de travail. Fonctionnement. le Workspace (1) Mode interactif : Mode programme : Type de variables :

Nathalie Barbary SANSTABOO. Excel expert. Fonctions, simulations, Groupe Eyrolles, 2011, ISBN :

Découverte de Python

Dérivation CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES

Cours d algorithmique pour la classe de 2nde

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Le langage C. Séance n 4

Calcul différentiel sur R n Première partie

Représentation géométrique d un nombre complexe

Notes introductives à Matlab

Compter à Babylone. L écriture des nombres

Algorithme. Table des matières

Licence Sciences et Technologies Examen janvier 2010

Traceur de courbes planes

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

Bases de programmation. Cours 5. Structurer les données

Du bon usage de gnuplot

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

EXCEL TUTORIEL 2012/2013

Architecture des Systèmes d Information Architecture des Systèmes d Information

NOTATIONS PRÉLIMINAIRES

Introduction au langage C

Initiation à l algorithmique

Introduction à MATLAB Simulink Control toolbox

Comment créer et utiliser une fonction

Introduction. Mathématiques Quantiques Discrètes

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Scilab pour les vrais débutants

Plan du cours Cours théoriques. 29 septembre 2014

I. Introduction aux fonctions : les fonctions standards

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

3 Approximation de solutions d équations

Cours d Algorithmique et de Langage C v 3.0

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

Introduction à la présentation graphique avec xmgrace

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Organigramme / Algorigramme Dossier élève 1 SI

Continuité et dérivabilité d une fonction

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Formats d images. 1 Introduction

Transcription:

Page 1 de 9 MATLAB : COMMANDES DE BASE Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Aide help, help nom_de_commande Fenêtre de travail (Command Window) Ligne de commande :» Exécution : Séparateur d s : virgule, point- virgule et /* ; */ Le point- virgule inhibe l affichage du résultat de l Rappel d s précédentes : ou premières lettres Variables numériques Par défaut, toutes les variables sont de type : x + iy. Si y = 0, seule la partie réelle sera affichée. Par défaut, les lettres i et j représentent 1 = e iπ /2. Par défaut, les lettres pi représentent π. Chaînes de caractères a= 'symboles _ ascii' affecte la chaine de caractères symboles_ascii à la variable a (pour représenter l apostrophe, il faut le doubler : 'aujourd ''hui' ) /* '' */ Affectation Nom=valeur Si la variable Nom n existe pas, elle est créée dans l espace mémoire ( workspace ) et pr la valeur valeur. Si Nom existe, l ancienne affectation est perdue et remplacée par valeur. Matlab est sensible à la casse dans le nom des variables. Pour être valide, le nom d une variable doit commencer par une lettre et s écrire en un seul mot. On peut utiliser le symbole _, mais pas les autres symboles. Affichage du résultat d une opération à l écran 1. Absence de point- virgule. 2. Instruction disp.

Page 2 de 9 Message d erreur Dans le cas d une commande illégale, Matlab retourne un message d erreur généralement très précis et instructif. Fonctions et opérateurs sur les nombres Les fonctions de Matlab sont définies sur. ^ : exposant. sqrt : racine carrée. sin, cos,, asin, acos, : argument ou réponse en radian. sind, cosd, asind, acosd, : argument ou réponse en degré. exp, log, log10 : exponentielle, logarithme népérien et logarithme en base 10. real, imag, conj, abs, angle : parties réelle et imaginaire, conjugué complexe, module et phase. floor, round, ceil : partie entière, entier le plus proche et entier supérieur ou égal à la valeur. Vecteurs et matrices 1. Vecteur ligne Liste de valeurs entre [ ], entrées séparées par des virgules ou par un espace. Définition globale : x = [m : h : M ] donne un vecteur ligne formé des nombres m, m+h, m+2h, M, ou M h < M ' M. Si h = 1, on peut l omettre. Pour un vecteur ligne, on peut aussi omettre les [ ]. Fonctions d initialisation linspace(a,b,n) : n nombres espacés régulièrement entre a et b. zéros(1,n) : n zéros. ones(1,n) : n uns. 2. Vecteur colonne Liste de valeurs entre [ ], entrées séparées par ;. Fonctions d initialisation zéros(n,1), ones(n,1). Transposition d un vecteur ligne avec l apostrophe : x = [m : h : M ]'. 3. Matrice m n Écriture ligne par ligne : A = [1 2 3;4 5 6] Fonctions d initialisations zéros(m,n) ones(m,n) eye(m,n) : uns sur la diagonale, zéros ailleurs.

Page 3 de 9 Concaténation Si A est une matrice m n et B une matrice p n, alors C = [A; B] est une matrice (m + p) n. Si A est une matrice m n et B une matrice m p, alors C = [A, B] est une matrice m (n + p). Accès à des éléments d une matrice A(k,l) retourne A kl. k et l doivent être entiers et la numérotation commence à 1. /* A[k,l], la numérotation commence à 0 */. Sous-matrices A(k1 : k2, l1:l2) est la sous- matrice comprenant les lignes k1 à k2 et les colonnes l1 à l2. A([k1 k2 ], [l1 l2 ]) est la sous- matrice formée des lignes k1, k2, et des colonnes l1, l2, Raccourcis : représente le dernier élément d une ligne ou d une colonne. A(:, l1:l2) est équivalent à A(1 :, l1 :l2). A(k1: k2, :) est équivalent à A(k1: k2, 1 : ). Attention : Si A est de taille m n et si k > m ou l > n, x = A(k,l) provoque une erreur. Par contre, A(k,l) = x ne provoque pas d erreur : A est agrandie et les éléments manquants sont initialisés à 0. Si A est de taille m n, C = sum(a,dim) et C = mean(a,dim) retourne un vecteur 1 n (dim=1) ou m 1 (dim=2) qui contient la somme ou la moyenne des lignes ou des colonnes de A. Si dim=1, il peut être omis. Opérations sur les matrices 1. Opérations élément par élément Si A et B ont le même nombre de lignes et de colonnes, alors C = A + B additionne les matrices A et B. C = A B soustrait les matrices A et B. C = A.* B multiple les éléments de A et B élément par élément C = A. / B divise les éléments de A par les éléments de B élément par élément C = A.^ x élève chacun des éléments de A à la puissance x. C = A + x additionne x à chacun des éléments de A.

Page 4 de 9 C = A * x multiplie chacun des éléments de A par x. Si f est une fonction de Matlab ( sin, exp, log, ), C = f (A) applique la fonction f à chacun des éléments de A. 2. Calcul matriciel Si A est de taille p n et B de taille n q, alors C = A * B effectue le produit matriciel de A et B : c ij = n k =1 a ik b kj. Si A est de taille n n et inversible et B de taille n p, alors X = A \ B (division à gauche) retourne l unique matrice X de taille n p solution de l équation A * X = B. En particulier, la solution du système d équations linéaires a 11 x 1 + + a 1n x n = b 1 a 21 x 1 + + a 2n x n = b 2, a n1 x 1 + + a nn x n = b n si elle existe, s écrit X = A \ B. Si A est de taille n n et inversible et B de taille p n, alors X = B / A retourne l unique matrice X de taille p n solution de l équation X * A = B. Si A est de taille n n et inversible, alors C = A ^ ( 1) ou C = inv(a) affecte à C l inverse de la matrice A : A * C = 1. 3. Transposée Si A est de taille m n, la matrice A, de taille n m, est la transposée de la conjuguée complexe de A : a' ij = a * ji. Entrée/sortie de données save nom_du_fichier.ext x y z -ascii ou save('nom _ du _ fichier.ext ',' x',' y',,' ascii') sauvegarde les variables x, y, dans le fichier nom_du_fichier.ext en format ASCII. Les variables doivent avoir le même nombre de colonnes. load nom_du_fichier.ext crée la variable nom_du_fichier qui contient les valeurs contenues dans nom_du_fichier.ext. x = load('nom _ du _ fichier.ext ') met le contenu de nom_du_fichier.ext dans la variable x.

Page 5 de 9 Taille des matrices [m,n]=size(a) retourne le nombre de lignes et de colonne de la matrice A. n=length(a) retourne la plus grande des valeurs entre le nombre de ligne et de colonnes. Minimum, maximum, moyenne Si A est de taille m 1 ou 1 n, C=max(A) contient la plus grande valeur de A. Si A est de taille m n avec m et n > 1, C=max(A) est de taille 1 n et contient la plus grande des valeurs de chaque colonne de A. Si A et B sont de taille m n, C=max(A,B) est de taille m n et contient, pour chaque élément, la plus grande des valeurs des éléments correspondants de A et B. C=max(A, [],dim) effectue l opération selon la dimension dim. De la même façon, min retournent les minimums. Si A est de taille m 1 ou 1 n, C=mean(A) contient la valeur moyenne des éléments de A. Si A est de taille m n, C=mean(A,dim) effectue la moyenne selon la dimension dim. Instruction «find» v=find(condition) ou [k,l]= find( 'condition' ) retourne les indices d une matrice qui satisfont à la condition condition. Par exemple, v=find(x>0) retourne les indices des éléments de x plus grands que 0. Graphisme 2D Si x et y sont de taille m 1 ou 1 m, plot(x,y) génère un graphique dans la fenêtre graphique et trace une ligne reliant les points de coordonnées (x i, y i ). semilogx(x,y), semilogy(x,y) et loglog(x,y) génèrent respectivement des graphiques semi- logarithmiques et logarithmiques. plot(x,y,'couleur ' ) trace une ligne de couleur couleur : r (rouge), b (bleu), g (vert), c (cyan), k (noir), plot(x,y,'type_ de_ligne') trace une ligne de type type_de_ligne : - (continu), - - (tireté), : (pointillé), plot(x,y,'symbole' ) trace le symbole symbole à chaque point : o (cercle),. (point), s (carré), + (plus), x ( ), On peut combiner les s : plot(x,y, 'type_ de_ligne symbole couleur ' ). plot( x 1, y 1, 's', x 2, y 2, 's',) trace plusieurs courbes sur le même graphique. On peut obtenir le même résultat avec les s hold on et hold off. h=plot(x,y,) retourne le code d identification («handle») du graphique (voir les s get(h) et set(h)). axis([ x min, x max, y min, y max ]) fixe manuellement les plages en x et y.

Page 6 de 9 subplot(m,n,k) divise la fenêtre graphique en m n systèmes d axes et se place dans la k ième. xlabel( 'descriptif ') et ylabel( 'descriptif ') ajoutent les descriptifs sur les axes. Expressions et opérateurs logiques Comme dans le langage C, le nombre 0 représente dans Matlab la valeur logique faux et 1 la valeur logique vrai. 1. Expressions logiques Égalité : == Inégalité : ~= Supérieur : > Supérieur ou égal : >= Inférieur ou égal : <= Inférieur : < /*!= */ 2. Opérateurs logiques et : & /* && */ ou inclusif : /* */ non : ~ /*! */ Si A et B sont de taille m n, C=(A expression_logique B) retourne une matrice de taille m n contenant des 1 et des 0 selon que la condition est vraie ou fausse. Scénarios et fonctions Un scénario ( «script») est un fichier qui contient des s exécutables comme si elles avaient été tapées directement dans la fenêtre de commande. Ce fichier doit avoir l extension.m. Délimiteur de commentaires : % /* /* */ */ Instruction continuée sur la ligne suivante : L éditeur de Matlab permet d écrire facilement des scénarios. Ceux- ci sont exécutés en tapant dans la fenêtre de commande l nom_du_scénario. Les variables utilisées dans le scénario sont automatiquement créées dans le workspace. Une fonction est un scénario dont le premier mot de la première ligne est function. function [a,b,c,]=zozo(x,y,z,) crée une fonction ayant les variables x, y, z, en entrée et les variables a, b, c, en sortie. Les fonctions sont également enregistrées dans des fichiers

Page 7 de 9 portant l extension.m. ll est fortement recommandé de donner le même nom au fichier que celui de la fonction! Exemple : function y=exposant(x,u) % élève x à l exposant u y=x^u ; crée la fonction exposant. Dans l espace de commande, on peut taper mon_nom_de_variable=exposant(2,3), qui retourne la valeur 8 dans la variable mon_nom_de_variable. Les variables utilisées dans une fonction sont des variables formelles qui n ont pas d existence effective. Elles ne sont pas créées dans le workspace. Ces variables formelles ne servent qu à indiquer le procédé de calcul. Elles ne sont reconnues qu à l intérieur de la fonction. Structures de condition ou de répétition du langage Matlab 1. Alternative if expression logique ou encore if expression logique elseif expression logique elseif else /* if ( ) { } else if ( ) { } else { } */

Page 8 de 9 2. Répétition while expression_logique se lit : tant que expression_logique est vraie, exécuter les s. Attention, comme en langage C, si expression_logique est une variable, elle est considérée comme vraie à moins qu elle ne soit exactement égale à 0. /* do { } while ( ). En langage C, l do est exécutée au moins une fois, même si la condition while est fausse, ce qui n est pas le cas en Matlab. */ 3. Boucle for k=début : pas : fin se lit : pour k égal début jusqu à fin par pas de pas, exécuter les s. /* for (i=début ; expression_logique pour la fin ; i=i+pas) { } */ 4. Sortie Lorsque le programme rencontre l break à l intérieur d une répétition while ou d une boucle for, il va immédiatement après le premier qui ferme la répétition ou la boucle. Exemple L exemple simple suivant traduit en langage Matlab le programme de bissection écrit en langage C dans la section 5.2 des notes du cours PHY 1234. Contenu du fichier bissection.m function [rac,drac]=bissection(fonc,x1,x2,epsilon,intermax); % function [rac,drac]=bissection(fonc,x1,x2,epsilon,intermax); % % Entrée : % fonc : nom de la fonction dont on veut trouver la racine ;

Page 9 de 9 % x1,x2 : intervalle dans lequel devrait se situer la racine ; % epsilon : précision requise pour la racine ; % nombre maximal d itérations. % Sortie : % rac : racine ; % drac : incertitude sur la racine k=0; delta=x2-x1; while (delta>epsilon) & (k<intermax) xm=0.5*(x1+x2); fm=feval(fonc,xm); % équivaut à fm=contenu_de_fonc(xm) f2=feval(fonc,x2); if fm*f2>0 x2=xm; else x1=xm; delta=x2-x1; k=k+1; rac=xm; drac=delta; Contenu du fichier zozo.m function y=zozo(x) y=x.*cos(x)-sin(x); Instruction dans l espace de travail >> [racine,delta_racine]=bissection( zozo,1,6,1e-5,40) ; Vous devriez aussi essayer >> r=fsolve( zozo,2) ;