Introduction à MATLAB. Signal Processing Laboratory Swiss Federal Institute of Technology, Lausanne

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

Introduction à MATLAB R

TP 1 Introduction à Matlab Février 2009

Calcul Formel et Numérique, Partie I

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

Calcul Formel et Numérique, Partie I

TP 0 : INTRODUCTION À MATLAB

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

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

Mathématiques I Section Architecture, EPFL

Corrigé des TD 1 à 5

Introduction à MATLAB Simulink Control toolbox

Premiers pas avec Mathematica

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

Cours Informatique Master STEP

Cours 7 : Utilisation de modules sous python

Aide - mémoire gnuplot 4.0


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

Introduction à MATLAB et SIMULINK

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

Introduction. Mathématiques Quantiques Discrètes

Automatique des systèmes linéaires continus

Pour l épreuve d algèbre, les calculatrices sont interdites.

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

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

Fonctions de deux variables. Mai 2011

Présentation du langage et premières fonctions

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

aux différences est appelé équation aux différences d ordre n en forme normale.

Introduction à Matlab

Exercice 1 Trouver l équation du plan tangent pour chaque surface ci-dessous, au point (x 0,y 0,z 0 ) donné :

NOMBRES COMPLEXES. Exercice 1 :

8.1 Généralités sur les fonctions de plusieurs variables réelles. f : R 2 R (x, y) 1 x 2 y 2

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.

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

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

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

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

1. Structure d'un programme FORTRAN 95

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Capes Première épreuve

Correction de l examen de la première session

Python - introduction à la programmation et calcul scientifique

Exercices - Polynômes : corrigé. Opérations sur les polynômes

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

I. Polynômes de Tchebychev

L ALGORITHMIQUE. Algorithme

Scilab pour les vrais débutants

Chafa Azzedine - Faculté de Physique U.S.T.H.B 1

Quelques commandes de base en SCILAB

Découverte du tableur CellSheet

Mathématiques Algèbre et géométrie

Notes introductives à Matlab

Continuité et dérivabilité d une fonction

Maple: premiers calculs et premières applications

Calculatrice HP Prime

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

Quelques contrôle de Première S

Nombres complexes. cours, exercices corrigés, programmation

Présentation du cours de mathématiques de D.A.E.U. B, remise à niveau

Chapitre 2. Matrices

Introduction à l étude des Corps Finis

Fonctions de plusieurs variables

Algorithmes pour la planification de mouvements en robotique non-holonome

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Initiation à la programmation en Python

LE PRODUIT SCALAIRE ( En première S )

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.

Activités numériques [13 Points]

4. NOMBRES COMPLEXES ET TRIGONOMÉTRIE

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

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

Cours3. Applications continues et homéomorphismes. 1 Rappel sur les images réciproques

Cours d Analyse. Fonctions de plusieurs variables

nos graphiques font leur rentrée!

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

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

= 1 si n = m& où n et m sont souvent des indices entiers, par exemple, n, m = 0, 1, 2, 3, 4... En fait,! n m

Rappels sur les suites - Algorithme

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Mathcad Ces capacités font de Mathcad l outil de calcul technique le plus utilisé au monde.

Projet Matlab : un logiciel de cryptage

Polynômes à plusieurs variables. Résultant

Initiation à la programmation OEF pour Wims (exercices).

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

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

INF111. Initiation à la programmation impérative en C amini/cours/l1/inf111/ Massih-Reza Amini

Les travaux doivent être remis sous forme papier.

I. Ensemble de définition d'une fonction

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Notes du cours MTH1101N Calcul I Partie II: fonctions de plusieurs variables

DOCM Solutions officielles = n 2 10.

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Simulation de variables aléatoires

Calcul Scientifique avec 3

Table des matières. I Mise à niveau 11. Préface

= constante et cette constante est a.

Transcription:

1 Introduction à MATLAB

PRESENTATION GENERALE (1) 2 MATLAB est la contraction de «Matrix Laboratory», et est devenu depuis quelques années un des outils de choix des scientifiques pour l analyse des signaux et images. Comme ceci l indique, MATLAB a d abord été créé pour faciliter les calculs matriciels. Mais de nombreuses fonctionnalités mathématiques et graphiques ont été ensuite rajoutées.

PRESENTATION GENERALE (2) 3 MATLAB: permet de travailler indifféremment sur les nombres réels et complexes. Permet de travailler directement sur les vecteurs et matrices. Contient un nombre de commandes impressionnant pour la plupart des opérations mathématiques (fonctions ). Permet de réaliser tout un assortiment de sortie graphiques. Permet à l aide d une programmation simple de créer de nouvelles commandes.

PRESENTATION GENERALE (3) 4 MATLAB propose également un grand nombres de «toolboxes» pour: le traitement des signaux le traitement des images les statistiques les réseaux de neurones la logique floue la simulation de systèmes...

COMMANDES DE BASE (1) 5 Quelques commandes de base vraiment utiles: who whos help commande lookfor mot-clé liste les variables existantes pareil avec les détails décrit ce que fait commande liste les commandes dont la description contient mot-clé

COMMANDES DE BASE (2) 6 Comparez ce qui se passe (avec who )quand vous tapez: sqrt(2) a = sqrt(2) b = sqrt(2); Nous allons maintenant calculer les racines de: ax 2 b ± + bx + c = 0 dont les racines sont: x = Tapez: a = 1 b = 0 c = 2 x1 = (-b + sqrt(b^2-4*a*c) / (2*a) x2 = (-b - sqrt(b^2-4*a*c) / (2*a) Refaites l expérience avec: a = 1 b = 1 c = 1 2 b 4 ac 2a

COMMANDES DE BASE (3) 7 Tapez x=1:20 y=1:2:20 z=0:0.1:3 x(11) x(3:7) Tapez y = sin(x) plot(y) Tapez y = x. * x plot(y) Tapez x = zeros(3,3) x = ones(3,3) x = [1 5 ; 7 9] Tapez x = zeros(3,1) x = ones(1,3) x = [1 5 7 9] x = [1 5 7 9] x = 5+3*j conj(x) abs(x)

NOMBRES COMPLEXES (1) 8 Définition succincte: un nombre complexe a la forme z = a + jb, a est la partie réelle de z, b la partie imaginaire, et j est tel que j 2 = -1. Il est pratique de représenter ces nombres dans le plan complexe: b axe imaginaires j φ 1 a axe réels

NOMBRES COMPLEXES (2) 9 Définitions et propriétés: conjugué: z* = a - jb module: z = a + b rep. polaire: z = z (cos φ + j sin φ) somme: (a + jb)+ (c + jd) = (a + c) + j(b + d) produit: (a + jb) (c + jd) = (ac - bd) + j(ad + bc) on a: z* = z et zz* = z 2 et z 1 z2 * = z1 z * * et z 1 z 2 = z 1 z 2 z1 z1z2 z1z2 d où quotient: = = z * 2 2 z z z 2 2 2 2 2 * ( ) * 2

NOMBRES COMPLEXES (3) 10 Formule d Euler et ses conséquences formule : e jφ = cos φ + j sin φ (écrit aussi exp(jφ)) d où: z = z exp(jφ) ( ) [ ( )] [ ( )] 1 on a: exp jφ = cos jφ + sin jφ = on a aussi: [exp(jφ)]* = cos φ -j sin φ = cos -φ + j sin -φ = exp(-jφ) donc: exp(jφ) [exp(jφ)]* = exp(jφ) 2 = 1 [exp(jφ)]* = exp(-jφ) = 1/ exp(jφ) et: z 1 z 2 = z 1 exp(jφ 1 ). z 2 exp(jφ 2 ) = z 1 z 2 exp[j(φ +φ 2 )] 2 2

NOMBRES COMPLEXES (4) 11 A l aide des commandes abs, angle, conj, real, imag, et exp, vérifiez les propriétés sur somme, produit, module du conjugué, conjugué et module d un produit, ainsi que celles provenant de la formule d Euler en prenant des nombres complexes quelconques. Visualisez-les aussi dans le plan complexe avec compass (et hold). Visualisez avec compass la position dans le plan complexe de nombres de la forme: z(k) = exp(j2πfk), f = 0.1, k = 0,, 9

SORTIES GRAPHIQUES (1) 12 Il y a tant de possibilités graphiques en Matlab que nous n allons explorer que les plus courantes. Tapez les commandes suivantes: x = -10:0.4:10; y = sin(0.2*pi*x); plot(y) plot(x,y) plot(x,y, g ) plot(x,y, + ) plot(x,y, g,x,y, *m ) stem(y) stem(x,y) semilogx(y) title( graphe ) xlabel( log x ) axis( square ) axis( normal ) subplot(211) plot(x,y) subplot(212) plot(x,y.*y) axis([-20 20-3 3])

SORTIES GRAPHIQUES (2) 13 bar(y) bar(x,y) bar(x,y, g ) z = randn(5000,1); hist(z,30) z = rand(5000,1); hist(z,30) t =.01 :.005 : 0.99; x = cos(20*pi*t); y = sin(20*pi*t); plot(t,x, r ); hold on; plot(t,y, r ); hold off gtext( sinus et cosinus ) zoom load trees imshow(x,map)

SORTIES GRAPHIQUES (3) 14 On peut également visualiser des fonctions bidimensionnelles. Avec des courbes de contour: [X,Y] = meshgrid(-3:1/8:3); Z = peaks(x,y).*sin(x); v1 = -4:-1; v2 = 0:4; contour(z,v1, k- - ); hold on contour(z,v2, k- ); hold off

SORTIES GRAPHIQUES (4) 15 Passons maintenant à de vraies représentations 3D. Regénérez les données: [X,Y] = meshgrid(-3:1/8:3); Z = peaks(x,y); Et essayez: plot3 mesh meshc surf shading colormap v1 = -4:-1; C=contour(Z,v1, k-- ); clabel(c,v1)

SORTIES GRAPHIQUES (5) 16 Représentez en 3D les valeurs (incrément de 0.1) de la fonction: z = sin(x). sin(y) pour x,y [-π, π] Même chose pour: z = x 0.5x 3 + 0.2y 2 +1 pour x,y [-3, 3] Observez ce que fait la commande clabel

MANIPULATIONS MATRICIELLES 17 Générez les commandes: A=randn(3,3) A(:,1) A(2,:) A(1:2, 2:3) A Un peu d algèbre linéaire: A=A *A inv(a) inv(a)*a det(a) [V,D]=eig(A) A*V(:,1) D(1,1)*V(:,1) [B,C]=qr(A) B*C Un peu de magie: A=magic(5) sum(a) sum(a ) trace(a)

REGRESSION LINEAIRE ET POLYNOMIALE 18 Régression (approximation) linéaire. Tapez les commandes: x=0:9 y=2*x+randn(1,10) P=polyfit(x,y,1) xx = 0:0.1:9 yy=polyval(p,xx) plot(x,y, *r ) hold on plot(xx,yy, --g ) hold off Approximation polynômiale. Tapez les commandes: x=-2:0.5:4 y=cos(2*x) P=polyfit(x,y,5) xx = -2:0.02:4 yy=polyval(p,xx) plot(x,y, db ) hold on plot(xx,yy, --r ) hold off

CREATION DE FONCTIONS (1) 19 Pour éviter de rentrer une série de commandes plusieurs fois, on peut toujours les regrouper dans un fichier texte nom.m, et taper nom dans Matlab pour les exécuter. On a ce qu on appelle un script, mais pas une vraie fonction. Pour créer une vraie fonction, qui aura exactement les mêmes caractéristiques qu une commande Matlab, il faut également créer un fichier avec l extension.m. Supposons que nous décidions d appeler la fonction fonc.

CREATION DE FONCTIONS (2) 20 Il faut tout d abord créer un fichier texte fonc.m. Le texte dans fonc.m devra toujours avoir la forme: function [out1,, outn] = fonc(in1,, inm) % commentaires de début Calculs Les paramètres d entrée et de sortie peuvent être de tout type (scalaire, vecteur, matrice, ) Si on tape ensuite dans Matlab help fonc, le texte des commentaires de début apparaît. A part si on veut afficher un résultat intermédiaire, on met en général un ; à la fin de chaque commande de Calculs.

CREATION DE FONCTIONS (3) 21 Créez un fonction racines2 donnant les racines d un polynôme d ordre 2 à partir des coefficients de ce polynôme. Créez un fonction racines3 donnant les racines d un polynôme d ordre 3 à partir des coefficients de ce polynôme, en utilisant la commande Matlab roots. Créez une fonction puis3 calculant la puissance 3 d un ensemble de nombres contenu dans un vecteur. Essayez cette fonction avec x = -20:20 et plot.

CREATION DE FONCTIONS (4) 22 Dans la partie Calculs d une fonction, il est possible d effectuer des opérations répétitives avec une boucle for. La structure générale est: for k=n:m, commande(s) end Il est également possible d exécuter des commandes conditionnellement avec un if: if condition commande(s) else autre(s) commande(s) end

CREATION DE FONCTIONS (5) 23 Créez une fonction sinv calculant le sinus des composantes d un vecteur à l aide d une boucle for et de la commande length. Comparez le temps d exécution de celle-ci avec celui de la commande directe sin pour un vecteur de 10000 composantes. Conclusion? Créez une fonction absv (entrée x, sortie y) telle que la i ème composante de y est 1 si la i ème composante de x est positive, et 0 sinon, à l aide de for et if. Comparez le temps d exécution de celle-ci avec celui de la commande directe x > 0 pour un vecteur de 10000 composantes. Conclusion?