Vous êtes sur la page 1sur 52

DEPARTEMENT DELECTRICITE ET INFORMATIQUE

Introduction Matlab Quelques exemples

Prof. F. Mudry

in s t i t u t d ' Automatisation in d u s t r i e l l e

LABORATOIRE DAUTOMATIQUE

Introduction ` Matlab : a quelques exemples


Table des mati`res e
1 Informations prliminaires e 1.1 Les bases de Matlab . . . . . . . . . . . . . . . . . . . 1.1.1 Donne dune variable relle ou complexe . . . e e 1.1.2 Cration de vecteurs et matrices . . . . . . . . e 1.1.3 Oprations sur les composantes ou les vecteurs e 1.1.4 Matrices particuli`res . . . . . . . . . . . . . . e 1.1.5 Aide en ligne . . . . . . . . . . . . . . . . . . . 1.2 Mthode de travail . . . . . . . . . . . . . . . . . . . . e 1.2.1 Les chiers de commandes . . . . . . . . . . . 1.2.2 Les chiers de fonctions . . . . . . . . . . . . . 1.2.3 Sauvegarde de donnes sur disque . . . . . . . e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 3 4 4 4 4 5 5 6 6 6 8 8 8

2 Rsolution dun circuit lectrique e e 2.1 Description du circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Calcul avec Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Rponse frquentielle dun circuit linaire e e e 3.1 Description du circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Calcul avec Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Rponse temporelle dun circuit linaire e e 10 4.1 Description du circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.2 Calcul avec Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5 Mise en valeur de rsultats exprimentaux e e 11 5.1 Exemple 1 : caractristique dun ressort . . . . . . . . . . . . . . . . . . . . 11 e 5.2 Exemple 2 : dbit et temprature dun ux dair . . . . . . . . . . . . . . . 13 e e 5.3 Exemple 3 : spectres du dbit et de la temprature . . . . . . . . . . . . . . 15 e e 6 Rsolution dune quation direntielle e e e 17 6.1 Equation du pendule simple . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 6.2 Mise sous forme canonique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 6.3 Intgration numrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 e e 7 Mouvement dune charge lectrique e 7.1 Equations fondamentales . . . . . . . . . 7.2 Description matricielle . . . . . . . . . . 7.3 Description dtat dun syst`me linaire e e e 7.4 Calcul de la trajectoire . . . . . . . . . . 19 19 20 21 21

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

8 Exercices 26 8.1 Rsolution dun circuit lectrique . . . . . . . . . . . . . . . . . . . . . . . . 26 e e 8.2 Rponses frquentielle et temporelle dun circuit . . . . . . . . . . . . . . . 26 e e

fmy / septembre 2002

ii 8.3 8.4 8.5 8.6 8.7 8.8 Rponses frquentielle et temporelle dun ltre e e Portance dune aile . . . . . . . . . . . . . . . . Modlisation de la caractristique dune diode . e e Chute libre . . . . . . . . . . . . . . . . . . . . Saut ` llastique . . . . . . . . . . . . . . . . . a e Particule dans un champ lectromagntique . . e e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Table des mati`res e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 27 28 29 29 30 33 33 33 33 34 34 34 34 35 35 36 36 36 36 37 37 38 38 38 38 38 39 39 40 40 40 41 41 41 41 42 42 42 43 43 43 43 44 44 44 44 45 45

9 Liste de quelques fonctions Matlab 9.1 Environnement Matlab . . . . . . . . . . . . . . . . . . 9.1.1 Commandes et fonctions . . . . . . . . . . . . . 9.1.2 Informations sur lespace de travail . . . . . . . 9.1.3 Commandes syst`me . . . . . . . . . . . . . . . e 9.1.4 Fentre de commandes . . . . . . . . . . . . . . e 9.1.5 Caract`res spciaux . . . . . . . . . . . . . . . e e 9.1.6 Oprateurs logiques . . . . . . . . . . . . . . . e 9.1.7 Variables prdnies ; dure et date . . . . . . . e e e 9.1.8 Fonctions logiques . . . . . . . . . . . . . . . . 9.1.9 Instructions de contrle . . . . . . . . . . . . . o 9.1.10 Instructions spciques . . . . . . . . . . . . . e 9.2 Fonctions mathmatiques . . . . . . . . . . . . . . . . e 9.2.1 Fonctions lmentaires . . . . . . . . . . . . . . ee 9.2.2 Fonctions trigonomtriques . . . . . . . . . . . e 9.2.3 Fonctions prdnies . . . . . . . . . . . . . . . e e 9.3 Matrices et alg`bre linaire . . . . . . . . . . . . . . . e e 9.3.1 Oprateurs sur les matrices . . . . . . . . . . . e 9.3.2 Oprateurs sur les composantes matricielles . . e 9.3.3 Manipulation des matrices . . . . . . . . . . . . 9.3.4 Matrices prdnies . . . . . . . . . . . . . . . e e 9.3.5 Oprations sur les matrices . . . . . . . . . . . e 9.3.6 Dcomposition et factorisation de matrices . . e 9.4 Textes et cha nes de caract`res . . . . . . . . . . . . . e 9.5 Fonctions graphiques . . . . . . . . . . . . . . . . . . . 9.5.1 Graphiques 2D . . . . . . . . . . . . . . . . . . 9.5.2 Annotation de graphiques . . . . . . . . . . . . 9.5.3 Contrle des fentres graphiques . . . . . . . . o e 9.5.4 Sauvegarde et copie graphique . . . . . . . . . 9.5.5 Objets 3D . . . . . . . . . . . . . . . . . . . . . 9.5.6 Animations . . . . . . . . . . . . . . . . . . . . 9.5.7 Apparence des graphiques . . . . . . . . . . . . 9.5.8 Graphiques tridimensionnels . . . . . . . . . . 9.5.9 Oprations sur les objets graphiques . . . . . . e 9.6 Oprations sur les polynomes . . . . . . . . . . . . . . e 9.7 Analyse de donnes et statistiques . . . . . . . . . . . e 9.7.1 Analyse de donnes par colonne . . . . . . . . . e 9.7.2 Analyse et traitement des signaux . . . . . . . 9.8 Intgration, interpolation et et drivation numriques . e e e 9.8.1 Intgration numrique . . . . . . . . . . . . . . e e 9.8.2 Interpolation . . . . . . . . . . . . . . . . . . . 9.8.3 Dirences nies . . . . . . . . . . . . . . . . . e 9.9 Optimisation et quations non linaires . . . . . . . . e e

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

fmy / septembre 2002

Table des mati`res e 9.10 Modlisation et analyse de syst`mes continus e e 9.10.1 Construction dun mod`le . . . . . . . e 9.10.2 Rponse temporelle . . . . . . . . . . e 9.10.3 Rponse frquentielle . . . . . . . . . . e e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

iii 45 45 45 46

fmy / septembre 2002

eivd Introduction a MatLab `

iv

Table des mati`res e

fmy / septembre 2002

Introduction ` Matlab : a quelques exemples


Cette introduction ` Matlab est propose aux tudiants du dpartement dElectricit et a e e e e Informatique de leivd avant le dbut de leur deuxi`me anne de formation. Ce cours, e e e donn pendant une journe, permet aux tudiants de travailler individuellement sur les e e e exemples et exercices prsents ci-apr`s. e e e Par ce recueil dexemples, on souhaite montrer que lusage de loutil Matlab dans le domaine de lingnierie est simple et ecace et ainsi inciter nos tudiants ` lappliquer e e a dans les cours et laboratoires quils auront en deuxi`me et troisi`me anne. e e e Les commandes Matlab sont prsentes dans des situations relles et susamment explie e e cites pour que leur utilisation soit claire par elle-mme. Les dtails syntaxiques doivent e e e e e e a tre recherch par les tudiants en recourant de mani`re intensive ` laide en ligne Matlab.

1 Informations prliminaires e
Matlab est un syst`me interactif et convivial de calcul numrique et de visualisation e e graphique destin aux ingnieurs et scientiques. Il poss`de un langage de programmation e e e puissant et simple ` utiliser avec lequel lutilisateur peut eectuer des calculs en ligne ou a par lintermdiaire dun chier de commandes [3], [4]. e Le logiciel Matlab (Matrix Laboratory) est bas sur le calcul matriciel numrique. Tous e e les objets utiliss dans Matlab sont donc dnis au travers de matrices ou vecteurs dont e e les valeurs sont, par dnition, des grandeurs complexes. Il existe un tr`s grand nombre e e doprateurs et fonctions distribus dans le logiciel de base et dans des bo ` outils spe e tes a e cialises. A ceci peut sajouter un outil de programmation graphique, Simulink, essentiel e pour la simulation de syst`mes dynamiques non linaires. e e Lenvironnement Matlab se prsente sous la forme dun espace de travail dans lequel un e interprteur de commandes excute les oprations demandes. e e e e

1.1 Les bases de Matlab


1.1.1 Donne dune variable relle ou complexe e e Avec Matlab, on dnit sans autre des variables relles ou complexes ; par exemple e e aa bb cc dd = = = = -1.234 ; 12/13 ; 4.567 + j*8.765 ; cc ; % % % % nombre rel ngatif e e nombre rel positif e nombre complexe son conjugu complexe e

1.1.2 Cration de vecteurs et matrices e Un vecteur ligne est introduit de la mani`re suivante : e

fmy / septembre 2002

2 v = [20, 6, 43, 66, 70, 8] ;

1 INFORMATIONS PRELIMINAIRES

En labsence de point-virgule ( ;), il sachera ` lcran sous la forme : a e > > v= 20 6

43

66

70

On acc`de ` la composante 4 en tapant : e a v(4) > > ans = 66 Un vecteur peut tre retourn avec la commande fliplr : e e y = fliplr(v) > > y= 8 70 66 43

20

Une matrice peut tre construite de direntes mani`res ; e e e soit m = [ 2 4 6 8 ; 1 3 5 7 ; 11 13 17 19] ou bien m = [ 2 4 6 8 1 3 5 7 11 13 17 19] ou bien v1 v2 v3 m = = = = [ 2 4 6 8] ; [ 1 3 5 7] ; [11 13 17 19] ; [v1 ; v2 ; v3]

Ce qui, dans les 3 cas, donne sur lcran e >> m = 2 4 1 3 11 13

6 5 17

8 7 19

La deuxi`me colonne sobtient en tapant e m2 = m( :,2) > > m2 = 4 3 13

fmy / septembre 2002

INFORMATIONS PRELIMINAIRES

Lachage dune sous-matrice est possible ; par exemple m3 = m(1 :3,2 :4) > > m3 = 4 6 8 3 5 7 13 17 19 Une matrice transpose se calcule avec lapostrophe () : e mt >> 2 4 6 8 = m mt = 1 3 5 7

11 13 17 19

Linverse dune matrice se calcule aussi simplement ; par exemple minv = inv(m3) > > minv = 6.0 -5.5 -0.5 -8.5 7.0 1.0 3.5 -2.5 -0.5 Dans Matlab, les indices des vecteurs et matrices doivent tre des entiers positifs. Line dice 0 nest donc pas admis. 1.1.3 Oprations sur les composantes ou les vecteurs e Avec Matlab, il faut tre tr`s attentif sur le type doprations souhaites et cela en e e e e particulier lorsque lon a aaire ` des multiplications, des puissances, etc. a Comme exemple, considrons deux vecteur que lon multiplie entre eux : e v1 = [1 ; 2 ; 3] ; v2 = [1, 2, 3] ; Lopration v1*v2 eectue le produit dun vecteur colonne v1 avec un vecteur ligne v2 et e le rsultat est une matrice 3x3 : e y1 = v1*v2 > > y1 = 1 2 3 2 4 6 3 6 9 En croisant v1 et v2, on obtient le produit scalaire : y2 = v2*v1 > > y2 = 14

fmy / septembre 2002

eivd Introduction a MatLab `

1 INFORMATIONS PRELIMINAIRES

Alors que si lon veut eectuer le produit composante par composante, il faut utiliser loprateur de multiplication prcd dun point (.*) : e e e e y3 = v1.*v2 > > y3 = 1 4 9

1.1.4 Matrices particuli`res e Les fonctions ones, zeros permettent de construire des matrices remplies de 1 et de 0, respectivement. On a galement la possibilit de construire une matrice identit (eye), diae e e gonale (diag), une matrice dont les composantes sont alatoires (rand), un vecteur dont e les composantes sont espaces linairement (linspace) ou logarithmiquement (logspace). e e

1.1.5 Aide en ligne ` A la moindre interrogation, nhsitez pas ` recourir ` laide en ligne qui, gnralement, est e a a e e tr`s bien documente par des exemples et des renvois vers des fonctions complmentaires. e e e En tapant par exemple help logspace on obtient LOGSPACE Logarithmically spaced vector. LOGSPACE(d1, d2) generates a row vector of 50 logarithmically equally spaced points between decades 10^d1 and 10^d2. If d2 is pi, then the points are between 10^d1 and pi. LOGSPACE(d1, d2, N) generates N points. See also LINSPACE, :.

1.2 Mthode de travail e


1.2.1 Les chiers de commandes Apr`s quelques essais initiaux o` les commandes sont passes en ligne, on prouve tr`s e u e e e vite le besoin de ne pas perdre le fruit de son travail en crivant les oprations, de plus en e e plus nombreuses et sophistiques, dans un chier de commandes dextension .m. e Ce chier peut tre crit avec votre diteur de texte ascii (PFE, UltraEdit, etc.) ou celui e e e fourni par Matlab. Une fois ce chier sauv dans votre rpertoire de travail, noubliez pas e e dindiquer son chemin dacc`s ` Matlab ` laide de File / Set Path. Lexcution de la suite e a a e de commandes crites dans le chier .m se fera alors simplement en tapant son nom dans e la fentre de commandes. e

fmy / septembre 2002

INFORMATIONS PRELIMINAIRES

1.2.2 Les chiers de fonctions De nouvelles fonctions peuvent tre cres et ajoutes ` Matlab par lutilisateur. Il sut e ee e a pour cela dcrire un chier .m dont le nom est obligatoirement le nom de la fonction e utilise par la suite. e Son entte doit avoir le format suivant : e function [arguments de sortie] = nom_de_fonction (arguments dentre) e Exemple : transformation des coordonnes rectangulaires en coordonnes polaires e e function [module, argument] = rec2pol(x,y) ; % rec2pol(x,y) transforme les coordonnes rectangulaires (x,y) e % en coordonnes polaires [module argument] e % Remarque : largument est fourni en radians % Exemple dutilisation : % [R A] = rec2pol(2,5) ; % Auteur : fmy / 26.10.2001 module = sqrt(x^2+y^2) ; argument = angle(x + j*y) ; Ces quelques lignes seront sauves dans un chier dont le nom sera rec2pol.m et plac e e dans un rpertoire (d :myfunc, par exemple) contenant lensemble des fonctions que vous e crez. e On notera que les variables internes ` la fonction sont locales, contrairement ` celles dun a a chier de commandes qui sont globales. De plus, les lignes prcdes du symbole % (lignes e e e de commentaires) serviront daide en ligne lorsque lon tapera : help rec2pol 1.2.3 Sauvegarde de donnes sur disque e Les variables dnies dans lespace de travail peuvent tre sauves dans un chier ascii e e e par la commande : save chemin\nom_de_fichier.dat nom_de_variable -ascii Un tel chier ascii peut ensuite tre relu soit par Matlab avec la fonction load, soit par e dautres programmes. Le contenu de la fentre graphique courante peut tre imprim directement sur votre e e e imprimante. On peut galement le sauver dans un chier pour tre ensuite intgr dans e e e e un document PostScript print chemin\nom_de_fichier.eps -depsc -tiff ou Windows Meta File print chemin\nom_de_fichier.wmf -meta

fmy / septembre 2002

eivd Introduction a MatLab `

RESOLUTION DUN CIRCUIT ELECTRIQUE

2 Rsolution dun circuit lectrique e e


Etant donn le circuit de la gure 1, on souhaite calculer les valeurs ecaces et phases e des courants lorsque Ug = 220 [V ], R2 = 3 [],
I1

fg = 50 [Hz], C = 10 [F ],
R1 I2 I3

R1 = 10 [] L = 100 [mH]
R2

Ug

Fig. 1: Circuit lectrique e

2.1 Description du circuit


Pour rsoudre ce circuit, il faut bien entendu commencer par crire les quations qui le e e e dcrivent. Considrant les courants I1 , I2 , I3 circulant dans les 3 branches du circuit, e e celui-ci est compl`tement dcrit par les quations suivantes : e e e Ug = R1 I1 + 0 = 1 I2 jC

1 I2 + (R2 + jL) I3 jC 0 = I1 I2 I3 e e quations que lon peut rcrire sous forme matricielle :
1 R1 jC 1 0 jC 1 1

0 I1 Ug R2 + jL I2 = 0 I3 0 1

La solution sobtient en multipliant ` gauche les 2 membres de lquation par linverse de a e la matrice dcrivant le circuit : e
1 R1 jC I1 1 I2 = 0 jC I3 1 1

0 R2 + jL 1

Ug 0 0

2.2 Calcul avec Matlab


Le calcul des courants avec Matlab se fait comme suit :

fmy / septembre 2002

RESOLUTION DUN CIRCUIT ELECTRIQUE % Calcul dun circuit electrique clear all ; close all ; format compact ; % donnees fg = 50 ; R1 = 10 ;

w = 2*pi*fg ; R2 = 3 ;

Ug = 220 ; % Ug = 220 Veff L = 100e-3 ; C = 10e-6 ;

% rappel des equations du circuit % R1 I1 + 1/jwC I2 + 0 I3 = Ug % 0 I1 - 1/jwC I2 + (R2+jwL) I3 = 0 % I1 I2 I3 = 0 % description matricielle du circuit Z = [ R1 +1/(j*w*C) 0 0 -1/(j*w*C) R2+j*w*L 1 -1 -1] ; U = [Ug ; 0 ; 0] ; % vecteur colonne % resolution du circuit I = inv(Z) * U ; % affichage des valeurs I Ieff = abs(I) PhaseI = angle(I) * 180 / pi % affichage sous forme matricielle Courants = [I Ieff PhaseI] Les rsultats fournis dans la fentre de commande Matlab sont alors les suivants : e e circuit I = 2.1521 - 5.4723i -0.1719 + 0.6235i 2.3240 - 6.0959i Ieff = 5.8803 0.6468 6.5238 PhaseI = -68.5319 105.4142 -69.1310 Courants = 1.0e+002 * 0.0215 - 0.0547i -0.0017 + 0.0062i 0.0232 - 0.0610i

0.0588 0.0065 0.0652

-0.6853 1.0541 -0.6913

fmy / septembre 2002

eivd Introduction a MatLab `

REPONSE FREQUENTIELLE DUN CIRCUIT LINEAIRE

3 Rponse frquentielle dun circuit linaire e e e


3.1 Description du circuit
On consid`re ici un ltre RC passe-bas dont la rponse frquentielle est dcrite par : e e e e H(j) = 1 1 + jRC

3.2 Calcul avec Matlab


Dans Matlab, le calcul et le traage de la rponse frquentielle se font comme suit : c e e % Reponse frequentielle dun circuit RC clear all ; close all ; format compact ; % description du circuit R = 1e3 ; C = 1e-9 ; num = 1 ; den = [R*C 1] ; Hrc = tf(num,den) ; % tracage du Bode elementaire figure ; bode(Hrc) ; % calcul de la reponse frequentielle fmin = 1000 ; fmax = 10e6 ; Npoints = 500 ; freq = logspace(log10(fmin),log10(fmax),Npoints) ; w = 2*pi*freq ; [module phase] = bode(Hrc,w) ; % transformation des objets [module phase] en vecteurs module = module( :) ; phase = phase( :) ; % tracage de la reponse frequentielle figure ; subplot(2,1,1) ; semilogx(freq,20*log10(module)) ; grid ; title(Rponse frquentielle dun circuit RC) ; e e ylabel(|H| [dB]) ; axis([fmin fmax -40 5]) ; subplot(2,1,2) ; semilogx(freq,phase) ; grid ; xlabel(f [Hz]) ; ylabel(/H [deg]) ; axis([fmin fmax -100 10]) ; print -deps RCbode.eps % tracage de Nyquist figure ; polar(phase*pi/180,module) ; print -deps RCpolar.eps Une illustration des 2 derniers graphes est donne dans les gures 2 et 3. e

fmy / septembre 2002

REPONSE FREQUENTIELLE DUN CIRCUIT LINEAIRE

Rponse frquentielle dun circuit RC 0 10 |H| [dB] 20 30 40 3 10

10

10

10

10

0 20 /H [deg] 40 60 80 100 3 10
4 5 6 7

10

10 f [Hz]

10

10

Fig. 2: Rponse frquentielle dun circuit RC (Bode) e e


90 120 0.8 0.6 150 0.4 0.2 30

1 60

180

210

330

240 270

300

Fig. 3: Rponse frquentielle dun circuit RC (Nyquist) e e

fmy / septembre 2002

eivd Introduction a MatLab `

10

REPONSE TEMPORELLE DUN CIRCUIT LINEAIRE

4 Rponse temporelle dun circuit linaire e e


4.1 Description du circuit
On consid`re ` nouveau le ltre passe-bas RC dont la rponse frquentielle est dcrite e a e e e par : 1 H(j) = 1 + jRC Cette description permet de calculer aussi bien les rponses frquentielles que temporelles. e e Dans ce qui suit, on calculera la rponse indicielle du circuit (cas le plus frquent) et les e e rponses ` des signaux sinuso e a daux et carrs. e

4.2 Calcul avec Matlab


Dans Matlab, le calcul et le traage des rponses temporelles se font comme suit : c e % Description du circuit R = 1e3 ; C = 1e-9 ; num = 1 ; den = [R*C 1] ; Hrc = tf(num,den) ; % Tracage elementaire de la reponse indicielle figure ; step(Hrc) ; % Definition du domaine temporel tmin = 0 ; tmax = 5*R*C ; kmax = 500 ; dt = tmax /kmax ; tt = tmin :dt :tmax ; % Calcul de la reponse indicielle yti = step(Hrc,tt) ; % Calcul de la reponse a un sinus T0 = 2e-6 ; Ampl = 5.0 ; xts = Ampl*sin(2*pi*tt/T0) ; yts = lsim(Hrc, xts, tt) ; % Calcul de la reponse a un carre xtc = Ampl*square(2*pi*tt/T0) ; ytc = lsim(Hrc, xtc, tt) ; % Tracage des reponses temporelles figure ; subplot(3,1,1) ; plot(tt,yti) ; title(Rponses temporelles dun circuit RC) ; e ylabel(y_{ind} (t)) ; axis([tmin tmax -0.1 1.1]) ;

fmy / septembre 2002

MISE EN VALEUR DE RESULTATS EXPERIMENTAUX subplot(3,1,2) ; plot(tt,yts, tt,xts,--) ; ylabel(y_{sin} (t)) ; axis([tmin tmax -1.1*Ampl 1.1*Ampl]) ; subplot(3,1,3) ; plot(tt,ytc, tt,xtc,--) ; ylabel(y_{carr} (t)) ; e xlabel(temps [sec]) ; axis([tmin tmax -1.1*Ampl 1.1*Ampl]) ; print -deps RCtemp.eps
Rponses temporelles dun circuit RC 1 yind (t)

11

0.5

0 0 5 ysin (t) 0.5 1 1.5 2 2.5 3 3.5 4 4.5 x 10 5


6

5 0 5 ycarr (t) 0.5 1 1.5 2 2.5 3 3.5 4 4.5 x 10 5


6

5 0 0.5 1 1.5 2 2.5 temps [sec] 3 3.5 4 4.5 x 10 5


6

Fig. 4: Rponses temporelles dun circuit RC e

5 Mise en valeur de rsultats exprimentaux e e


5.1 Exemple 1 : caractristique dun ressort e
On consid`re ici un ressort que lon tend plus ou moins tout en mesurant la force qui e lui est applique ` laide dun dynamom`tre dont la prcision est denviron 0.5 [N]. Les e a e e rsultats que lon a obtenus sont les suivants : e Longueur [cm] Force [N] 0.5 [N] 4.2 0.0 5.0 1.1 6.0 2.0 7.0 3.2 8.0 3.9 9.0 4.6 10.0 5.8 11.0 7.0 12.0 8.3 13.0 9.0 14.0 9.5

Dans ce qui suit, on souhaite : 1. Tracer le graphe de la force en fonction de la longueur avec les barres derreurs.

fmy / septembre 2002

eivd Introduction a MatLab `

12

MISE EN VALEUR DE RESULTATS EXPERIMENTAUX

2. Mettre en valeur le graphe ` laide dun titre et dinformations portes sur labscisse a e et lordonne. e 3. Rechercher une loi polynomiale reprsentant au mieux cette caractristique ; celle e e dun ressort est gnralement linaire, ventuellement cubique. e e e e 4. Mesurer la qualit des mod`les proposs pour reprsenter le ressort. e e e e 5. Acher les informations sur le graphe lui-mme. e Un programme ralisant le cahier des charges demand peut tre le suivant : e e e
% Exemple de traitement des donnees clear all ; close all ; format compact ; % elongation dun ressort : valeurs mesurees x = [4.2 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0] ; % [cm] force = [0.0 1.1 2.0 3.2 3.9 4.6 5.8 7.0 8.1 9.0 9.5] ; % [N] % regressions lineaire et cubique coeff1 = polyfit(x,force, 1) % coeff. du polyn^me dordre 1 o coeff3 = polyfit(x,force, 3) % coeff. du polyn^me dordre 3 o

% calcul des graphes des mod`les dordre 1 et 3 e


xfit = linspace(0,20,201) ; F1 = polyval(coeff1,xfit) ; F3 = polyval(coeff3,xfit) ; % abscisse plus fine (200 points) % valeurs du polyn^me dordre 1 o % valeurs du polyn^me dordre 3 o

% tracage errorbar(x,force,0.5*ones(size(force)),o) ; hold on ; plot (xfit,F1, xfit,F3,--) ; axis ([0 20 -5 13]) ; title(Force dun ressort) ; xlabel(x [cm]) ; ylabel(F(x) [N]) ; % affichage des infos texte = [F_1(x) = , num2str(coeff1(1),3), x texte = [texte, num2str(coeff1(2),3)] ; text(1,11, texte) ; texte = [F_3(x) = , poly2str(coeff3,x)] ; text(2,-3, texte) ;

] ;

% ecart type = sigma = mesure de la dispersion des ecarts F1 = polyval(coeff1, x) ; % valeurs du modele dordre 1 ecart1 = force - F1 ; eqm1 = sum(ecart1 .^ 2)/length(ecart1) ; sigma1 = sqrt(eqm1) ; text (1,10, [\sigma _1 = , num2str(sigma1,3), [N]]) ; F3 = polyval(coeff3, x) ; % valeurs du modele dordre 3 ecart3 = force - F3 ; eqm3 = sum(ecart3 .^ 2)/length(ecart3) ; sigma3 = sqrt(eqm3) ; text (2,-4, [\sigma _3 = , num2str(sigma3,3), [N]]) ; print -deps ressort.eps

Les rsultats sont prsents dans la gure 5. e e e

fmy / septembre 2002

MISE EN VALEUR DE RESULTATS EXPERIMENTAUX


Force dun ressort 12 F1(x) = 0.98 x + 3.91 10 1 = 0.197 [N]

13

6 F(x) [N]

2 F3(x) = 4 0 0.0012491 x3 + 0.029026 x2 + 0.78352 x 3.5353 3 = 0.19 [N] 2 4 6 8 10 x [cm] 12 14 16 18 20

Fig. 5: Force dun ressort et ses mod`les dordre 1 et 3 e

5.2 Exemple 2 : dbit et temprature dun ux dair e e


Dans cet exemple, on se propose de montrer comment on lit des valeurs fournies par un chier ascii et comment on tire quelques informations utiles avant de les porter sur un graphe (gure 6).
2.6 2.5 Dbit [l/sec] 2.4 2.3 2.2 2.1 2 0 Dbits min et max : 2.18 / 2.42 [l/sec] 500 1000 1500 2000 2500 3000 3500 4000 Dbit et temprature dun flux dair Dbit moyen = 2.3 [l/sec] Ecart type = 0.04 [l/sec]

50 Temprature moyenne = 42 [C] Ecart type = 1.4 [C] Temprature [C] 45

40 Tempratures min et max : 37.3 / 47.3 [C] 35 0 500 1000 1500 2000 temps [sec] 2500 3000 3500 4000

Fig. 6: Dbit et temprature dun ux dair e e

fmy / septembre 2002

eivd Introduction a MatLab `

14

MISE EN VALEUR DE RESULTATS EXPERIMENTAUX

Lors dune exprience, on a enregistr lvolution du dbit et de la temprature dun ux e e e e e dair au cours du temps. Les valeurs numriques ont t portes dans un chier air.dat e ee e comportant 3 colonnes : le temps exprim en secondes e le dbit donn en litres par seconde e e la temprature mesure en degrs Celsius : e e e 1.0800000e+002 1.1000000e+002 1.1200000e+002 ....... 3.8940000e+003 3.8960000e+003 2.3597495e+000 2.3446581e+000 2.3312441e+000 2.2748863e+000 2.2713996e+000 4.4197579e+001 4.2045259e+001 4.2574619e+001 4.2438009e+001 4.2516874e+001

Voici le contenu du programme permettant de lire le chier de donnes et de construire e la gure 6 : % mesures de debit et temperature clear all ; close all ; format compact ; % chargement des mesures mesures = load(air.dat) ; temps = mesures( :,1) ; debit = mesures( :,2) ; degre = mesures( :,3) ; % pre-visualisation des mesures subplot(2,1,1) ; plot(temps, debit) ; subplot(2,1,2) ; plot(temps, degres) ; % recherche des valeurs min et max Qmin = min(debit), Qmax = max(debit) Tmin = min(degre), Tmax = max(degre) % calcul des valeurs moyennes DebitMoyen = mean(debit) DegreMoyen = mean(degre) % mesure de la dispersion des valeurs % std = ecart type = deviation standard BruitDebit = std(debit-DebitMoyen) BruitDegre = std(degre-DegreMoyen) % tracage du debit figure ; subplot(2,1,1) ; plot(temps,debit) ; axis([0 4000 2 2.6]) ; title(Dbit et temprature dun flux dair) ; e e ylabel(Dbit [l/sec]) ; e % informations pour le graphe

fmy / septembre 2002

MISE EN VALEUR DE RESULTATS EXPERIMENTAUX texte1 = [Dbit moyen = , num2str(DebitMoyen,2), [l/sec]] ; e texte2 = [Ecart type = , num2str(BruitDebit,2), [l/sec]] ; text(200,2.51,[texte1 texte2]) ; texte = [Dbits min et max : , num2str(Qmin,3)] ; e texte = [texte / , num2str(Qmax,3), [l/sec]] ; text(200,2.1, texte) ; % tracage de la temperature subplot(2,1,2) ; plot(temps,degre) ; axis([0 4000 35 50]) ; xlabel(temps [sec]) ; ylabel(Temprature [C]) ; e r

15

% information pour le graphe texte1 = [Temprature moyenne = , num2str(DegreMoyen,2), [C]] ; e r texte2 = [Ecart type = , num2str(BruitDegre,2), [C]] ; r text(200,48,[texte1 texte2]) ; texte = [Tempratures min et max : , num2str(Tmin,3)] ; e texte = [texte / , num2str(Tmax,3), [C]] ; r text(200,37, texte) ; print -deps airtemp.eps

5.3 Exemple 3 : spectres du dbit et de la temprature e e


Le but de cet exemple est de montrer comment on peut calculer et acher le spectre des signaux prcdents. Cependant, il est important de bien raliser que, derri`re ces calculs, e e e e cest une partie importante du traitement numrique des signaux qui est applique et que e e ce nest pas le but de la prsenter ici. e Lanalyse temporelle faite dans le paragraphe prcdent se poursuit dans lespace des e e frquences ` laide des commandes ci-apr`s. e a e
% preparation pour lanalyse spectrale % la longueur du signal analyse doit etre une puissance de 2 % inferieure ou egale a la longueur du signal original puissance = floor(log(length(debit))/log(2)) kmax = 2^puissance ; debit2 = debit(1 :kmax) ; degre2 = degre(1 :kmax) ; % suppression de la valeur moyenne debit2 = debit2-mean(debit2) ; degre2 = degre2-mean(degre2) ; % transformation de Fourier des signaux a valeur moyenne nulle Qf = fft(debit2) ; Tf = fft(degre2) ; % relations temps-frequence dt = temps(2)-temps(1) ; duree = kmax*dt ; fmin = 0 ; fmax = 1/dt ; df = 1/duree ; ff = fmin :df :fmax ;

fmy / septembre 2002

eivd Introduction a MatLab `

16

MISE EN VALEUR DE RESULTATS EXPERIMENTAUX

% preparation pour le tracage Qfdb = 20*log10(abs(Qf)) ; Tfdb = 20*log10(abs(Tf)) ; ff = ff(1 :kmax/2) ; % le spectre se repete au dela de kmax/2 Qfdb = Qfdb(1 :kmax/2) ; Tfdb = Tfdb(1 :kmax/2) ; % recherche dun pic spectral eventuel sur le debit [pic kpic]= max(Qfdb) ; fpic = kpic*df ; texte = [f_{pic} = , num2str(fpic,2), [Hz]] ; % tracage figure ; subplot(2,1,1) ; plot(ff,Qfdb) ; axis([0 0.1 -20 40]) ; grid ; text(1.1*fpic, 1.1*pic,texte) ; ylabel(Q(f) [dB]) ; title (Spectres du dbit et de la temprature) ; e e subplot(2,1,2) ; plot(ff,Tfdb) ; axis([0 0.1 0 60]) ; grid ; xlabel(frquence [Hz]) ; ylabel(T(f) [dB]) ; e print -deps airfreq.eps
Spectres du dbit et de la temprature

40 30 Q(f) [dB] 20 10 0 10 20 0 0.01 0.02

fpic = 0.032 [Hz]

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

60 50 40 T(f) [dB] 30 20 10 0 0 0.01 0.02 0.03 0.04 0.05 0.06 frquence [Hz] 0.07 0.08 0.09 0.1

Fig. 7: Spectres du dbit et de la temprature e e Lanalyse spectrale complte par son graphe (gure 7) montre quil existe une raie specee trale sur le dbit situe en f = fpic = 0.032 [Hz]. Cela indique la prsence dune perture e e bation priodique de priode 1/fpic 30 [sec] qui ntait pas du tout perceptible dans le e e e graphe temporel.

fmy / septembre 2002

RESOLUTION DUNE EQUATION DIFFERENTIELLE

17

6 Rsolution dune quation direntielle e e e


6.1 Equation du pendule simple
La mise en quation du pendule simple est traite dans le cours de physique [5]. On y e e montre que son mouvement est dcrit par une quation direntielle non-linaire dordre 2 : e e e e d2 (t) g = (t) = sin((t)) dt2 L Dans le cas o` langle (t) est petit, cette quation peut tre approche par une quation u e e e e linaire qui est : e d2 (t) g = (t) = (t) 2 dt L

6.2 Mise sous forme canonique


Avant de rsoudre numriquement un syst`me dcrit par une quation direntielle, il e e e e e e faut remplacer cette quation dordre n par n quations direntielles dordre 1 dont les e e e variables x1 (t), , xn (t) sont la variable originale et ses drives successives. Dans notre e e cas, cela donne : x1 (t) (t) x2 (t) (t) Le syst`me est alors compl`tement dcrit par : e e e

dx1 (t) dt dx2 (t) dt

(t) = x2 (t) g (t) = sin(x1 (t)) L

Sous Matlab, la description du syst`me doit se faire dans un chier *.m dcrivant la e e fonction qui fournit les n drives sous la forme dun vecteur colonne. Dans notre cas, cela e e donne : chier EDpendule.m :
% Equation differentielle dun pendule simple function dx = EDpendule(t, x) ; g = 9.81 ; longueur = 1.0 ; theta = x(1) ;

dtheta = x(2) ;
ddtheta = -g/longueur*sin(theta)) ; dx = [dtheta ; ddtheta] ;

Dans une approche plus gnrale, les param`tres (g et L) du pendule peuvent tre dnis e e e e e dans le programme principal et passs en arguments ` la fonction dcrivant lquation e a e e e direntielle. De plus, sachant que le vecteur x contient les variables et , lcriture de e

fmy / septembre 2002

eivd Introduction a MatLab `

18

RESOLUTION DUNE EQUATION DIFFERENTIELLE

la fonction peut se faire dans une forme plus compacte (mais peut-tre moins vidente ` e e a comprendre). Lillustration en est donne dans le chier suivant crit pour lapproximation linaire du e e e pendule : chier EDpendlin.m :
% Equation differentielle lineaire function dx = EDpendlin(t, x, options, param) ; g = param(1) ; longueur = param(2) ; dx1 = x(2) ; dx2 = -g/longueur*x(1) ; dx = [dx1 ; dx2] ;

6.3 Intgration numrique e e


Lintgration numrique dun syst`me direntiel se fait ` laide de divers algorithmes e e e e a dintgration qui sont fournis par Matlab. Lalgorithme le plus frquemment utilis est e e e celui de Runge-Kutta qui, dans Matlab, est dsign sous le nom de ode45 (Ordinary e e Dierentiel Equation, approximation dordre 4 et 5). A lappel de ode45, il faut donner le nom du chier contenant lquation direntielle, le e e domaine temporel dsir pour la rsolution et les conditions initiales. On peut, si on le e e e souhaite, modier les options de rsolution et fournir des param`tres : e e
ode45(fichierED.m,[tmin tmax],CI,options,param)

La rsolution du pendule simple est donne ci-dessous. Dans un but de comparaison, on e e y a ajout la solution linaire qui est trace en traitill dans la gure 8. e e e e
60 40 (t) [deg] 20 0 20 40 60 0 2 4 6 8 10 12 14 16 18 20 Pendule simple

4 2 (t) [rad/sec] 0 2 4

10 temps [sec]

12

14

16

18

20

Fig. 8: Evolution dun pendule simple

fmy / septembre 2002

MOUVEMENT DUNE CHARGE ELECTRIQUE % Analyse dun pendule simple clear all ; close all ; format compact ; % conditions initiales pos0 = 60*pi/180 ; % radians vit0 = 0 ; % domaine temporel t0 = 0 ; tmax = 20 ; % resolution numerique de lequation non lineaire % sans passage de parametres [tt1, Xs1] = ode45(EDpendule.m,[t0 tmax],[pos0 vit0]) ; pos1 = Xs1( :,1)/pi*180 ; % degres vit1 = Xs1( :,2) ; % parametres g = 9.81 ; longueur = 1 ; param(1) = g ; param(2) = longueur ; % resolution numerique de lequation lineaire % avec passage de parametres [tt2, Xs2] = ode45(EDpendlin.m,[t0 tmax],[pos0 vit0],[],param) ; pos2 = Xs2( :,1)/pi*180 ; % degres vit2 = Xs2( :,2) ; % tracage figure ; subplot(2,1,1) ; plot(tt1,pos1,tt2,pos2,--) ; title(Pendule simple) ; ; ylabel(\theta (t) [deg]) ; subplot(2,1,2) ; plot(tt1,vit1,tt2,vit2,--) ; ylabel(\omega (t) [rad/sec]) ; xlabel(temps [sec]) ; print -deps pendule.eps

19

7 Mouvement dune charge lectrique e


7.1 Equations fondamentales
On consid`re ici le mouvement dune charge q place dans des champs lectrique E et e e e magntique B constants et uniformes (gure 9). e Les lois de Newton et de llectromagntisme [5] permettent alors de dcrire le mouvement e e e de la charge q de masse m : F = m a = mv = q E + q v B Cette quation vectorielle scrit galement sous la forme : e e e

fmy / septembre 2002

eivd Introduction a MatLab `

20

MOUVEMENT DUNE CHARGE ELECTRIQUE

Fig. 9: Charge dans un champ lectromagntique e e

vx Ex vx Bx m vy = q Ey + q vy By vz Ez vz Bz Eectuant le produit vectoriel, cela donne : vx Ex vy Bz vz By m vy = q Ey + q vz Bx vx Bz vx By vy Bx vz Ez On voit ainsi que le mouvement de la charge est dcrit par 3 quations direntielles e e e couples dordre 1. e

7.2 Description matricielle


Dnissant un vecteur dtat Xs et sa drive X s e e e e vx Xs = vy vz lquation du mouvement scrit : e e vx E X (2) Bz Xs (3) By q x q s X s = vy = Ey + Xs (3) Bx Xs (1) Bz m m Ez Xs (1) By Xs (2) Bx vz Ce qui, en terme dquation matricielle, devient : e

vx X s = vy vz

fmy / septembre 2002

MOUVEMENT DUNE CHARGE ELECTRIQUE

21

q q Xs (1) 0 + m Bz m By Xs (1) q q 0 + m Bx Xs (2) + X s = Xs (2) = m Bz q q + m By m Bx 0 Xs (3) Xs (3)

q m q m q m

Ex Ey 1 Ez

Une approche analytique du probl`me permet de montrer que la particule oscille sinuso e dalement avec une pulsation proportionnelle ` lamplitude du champ magntique : a e n = q B m

7.3 Description dtat dun syst`me linaire e e e


La description matricielle ci-dessus porte le nom de reprsentation dtat dun syst`me et e e e correspond ` lcriture conventionnelle gnrale suivante : a e e e X s = A Xs + B u Y = C Xs + D u dans laquelle : Xs est le vecteur dtat du syst`me, e e Y sa sortie, A la matrice dtat dcrivant le syst`me, e e e B le vecteur de commande, u le signal de commande, C et D les matrices dcrivant la sortie Y . e

Dans le cas de notre probl`me, les dimensions des vecteurs et matrices sont Xs (3, 1), e A(3, 3), B(3, 1) et u(1, 1). Admettant que le vecteur de sortie Y est constitu des 3 e composantes de la vitesse, on a videmment Y = Xs . La matrice C(3, 3) est alors une e matrice unit de dimension 3 et le vecteur D(3, 1) est nul. e

7.4 Calcul de la trajectoire


Ce syst`me tant linaire, le calcul de lvolution temporelle peut se faire sans intgration e e e e e numrique. Ce qui, dans Matlab, se fait de la mani`re suivante : e e

% Mouvement dune charge dans un champ electromagnetique clear all ; close all ; format compact ; % constantes q = 1.602e-19 ; m = 9.109e-31 ; Bx = 0.0 ; By = 0.01 ; Bz = 0.0 ; Ex = 1.0 ; Ey = 0.0 ; Ez = 0.0 ;

fmy / septembre 2002

eivd Introduction a MatLab `

22

MOUVEMENT DUNE CHARGE ELECTRIQUE

% description detat : A = q/m * [ 0 +Bz -By -Bz 0 +Bx +By -Bx 0] ; B = q/m*[Ex ; Ey ; Ez] ; % matrices de sortie : C = [1 0 0 0 1 0 0 0 1] ; D = zeros(3,1) ; % representation detat du systeme sys = ss(A,B,C,D) ; % calcul de la reponse indicielle (=> u = 1) : tmax = 1e-8 ; kmax = 1000 ; dt = tmax/kmax ; tt = 0 :dt :tmax ; y = step(sys,tt) ; % extraction des 3 composantes de la vitesse Vx = y( :,1) ; Vy = y( :,2) ; Vz = y( :,3) ; Comme le vecteur de sortie Y contient les 3 composantes de la vitesse de la particule et que lon dsire conna sa trajectoire, il est possible de passer des vitesses aux positions e tre par intgration numrique. Ce qui donne pour la coordonne x(t) : e e e
t n

x(t) =
0

vx (t) dt

x[n] =
k=0

vx [k] t

n = 0 Npoints

Dans Matlab, cette somme cumulative est ralise par la commande cumsum(on notera e e quil existe galement la fonction cumtrapz qui ralise une intgration trapzo e e e e dale plus prcise) : e % calcul des positions (integration dordre 0 => cumsum) xt = dt*cumsum(Vx) ; yt = dt*cumsum(Vy) ; zt = dt*cumsum(Vz) ; % tracage des positions figure ; subplot (3,1,1) ; plot (tt,xt) ; title(Dplacement de la particule) ; ylabel(x(t)) ; e subplot (3,1,2) ; plot (tt,yt) ; ylabel(y(t)) ; subplot (3,1,3) ; plot (tt,zt) ; ylabel(z(t)) ; xlabel(temps [sec]) ; Les rsultats obtenus sont prsents dans les gures 10 et 11. La visualisation 3D de la e e e trajectoire est ralise simplement avec les commandes e e

fmy / septembre 2002

MOUVEMENT DUNE CHARGE ELECTRIQUE


plot3(xt,yt,zt) ; axis square ; grid on ;

23

On peut encore ajouter les vecteurs Ex et By avec la commande quiver3(x,y,z, u,v,w, 0,x). Pour plus dinformations, on consultera avantageusement laide Matlab. Les commandes ayant servi au traage de la gure 11 sont donnes ci-dessous sans plus c e de commentaires : figure ; plot3(xt,yt,zt) ; axis square ; grid ; hold on ; axis([-5e-8,15e-8,-1,1,0,1e-6]) ; h1=quiver3(5e-8,0,0, -5e-8,0,0, 0,v) ; set(h1,LineWidth,2) ; text(3.5e-8,-0.15,0, E_x) ; h2=quiver3(0,0.5,0, 0,-0.5,0, 0,v) ; set(h2,LineWidth,2) ; text(-2e-8,0.4,0, B_y) ; title(Trajectoire de la particule) ; print -deps qtraject.eps
x 10
8

% tracage 3D % % % % % % % choix des axes vecteur E = Ex vecteur en trait gras legende pour E vecteur B = By vecteur en trait gras legende pour B

15 10 x(t) 5 0 5 1 0.5 y(t) 0 0.5 1 1.5 1 z(t) 0.5 0

Dplacement de la particule

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9 x 10

1
8

0 6 x 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9 x 10

1
8

0.1

0.2

0.3

0.4

0.5 temps [sec]

0.6

0.7

0.8

0.9 x 10

1
8

Fig. 10: Coordonnes dune particule charge dans un champ lectrique E = (Ex ; 0; 0) et e e e magntique B = (0; By ; 0) e

fmy / septembre 2002

eivd Introduction a MatLab `

24

MOUVEMENT DUNE CHARGE ELECTRIQUE

Trajectoire de la particule

x 10 1

0.8

0.6

0.4

0.2

0 1 0.5 0

By

Ex 10

15 5 0

0.5 1 5

x 10

Fig. 11: Trajectoire dune particule charge dans un champ lectrique E = (Ex ; 0; 0) et e e magntique B = (0; By ; 0) e

fmy / septembre 2002

Rfrences ee

25

Rfrences ee
[1] D. M. Etter : Engineering problem solving with Matlab, Prentice Hall, 1993 [2] W. J. Palm III : Introduction to Matlab for Engineers, WCB McGraw-Hill, 1998 [3] M. Etique : Introduction au logiciel Matlab, cours bloc, eivd, 2001 [4] M. Correvon :Introduction ` Matlab 5.2 et Simulink 2.2, Laboratoire de Syst`mes a e Electromcaniques, eivd, 2002 e [5] E. Lambert : Cours de physique, eivd, 1999 [6] www.mathworks.com : site ociel de Matlab [7] www.scientic.de : site europen de Matlab e [8] www.sysquake.com : site dun logiciel similaire ` Matlab dont la version dmonstraa e tion est gratuite [9] www-rocq.inria.fr/scilab/ : site dun logiciel libre de la communaut Linux et come parable ` Matlab a [10] www.math.siu.edu/Matlab/tutorials.html : site proposant des tutoriaux intressants e et avancs illustrant les possibilits de Matlab e e

fmy / septembre 2002

eivd Introduction a MatLab `

26

EXERCICES

8 Exercices
8.1 Rsolution dun circuit lectrique e e
Etant donn le circuit de la gure 12, calculez les valeurs ecaces et phases des courants e et tensions lorsque Ug = 220 [V ], L = 1 [mH], R1 = 100 [], C1 = 10 [F ], R2 = 200 [], C2 = 100 [nF ]

et que la frquence du gnrateur vaut 50Hz et 250Hz. Plutt que de modier la valeur e e e o de la frquence dans le chier, utilisez la commande input : e frequence = input (Entrez la frequence du generateur : ) ;
R1 L C2

Ug

C1

R2

Fig. 12: Rsolution dun circuit lectrique e e

8.2 Rponses frquentielle et temporelle dun circuit e e


On dsire raliser et analyser un ltre passif passe-bas dordre 2 : e e 1. Dessinez le schma du ltre constitu dune rsistance R, dune inductance L et e e e dune capacit C. e 2. Calculez littralement sa fonction de transfert. e 3. Admettant L = 10 [mH], C = 10 [nF ] et R = 500, 1000, 2000 [], calculez et tracez les graphes similaires ` ceux des gures 2 et 3. Adaptez le domaine frquentiel ` a e a celui du circuit. 4. Faites de mme pour les rponses temporelles (gure 4). Si ncessaire, modiez le e e e domaine temporel.

8.3 Rponses frquentielle et temporelle dun ltre e e


La ralisation de ltres quelconques se fait ` partir dune cellule de base biquadratique e a dcrite par un polynme dordre 2 au numrateur et au dnominateur. Suivant la valeur e o e e des coecients du polynome du numrateur, on obtiendra un ltre passe-bas, passe-bande, e passe-haut et rjecteur de bande. e Des ltres dordre suprieur ` 2 sont raliss en plaant en srie des cellules dordre 1 ou 2. e a e e c e Ainsi, un ltre dordre 5 sera ralis par la mise en cascade dune cellule dordre 1 et de e e 2 cellules dordre 2.

fmy / septembre 2002

EXERCICES

27

Sachant que les cellules dordre 2 de type passe-bas sont gnralement dcrites comme e e e suit : 1 HP B (j) = Au j j 2 1 1 + Q0 n + n o` Au est le gain, Q0 le facteur de qualit et n la pulsation caractristique de la cellule u e e dordre 2, on demande : 1. Ecrivez la fonction de transfert de chaque cellule ralisant un ltre passe-bas dordre e 6 sachant que a) les 3 cellules ont la mme pulsation caractristique n = 1000 [rad/sec] ; e e b) les facteurs de qualit sont Q01 = 0.5176, Q02 = 0.7071 et Q03 = 1.9319. e 2. Calculez la fonction de transfert globale en eectuant le produit des 3 fonctions de transfert ; achez le rsultat avec la commande zpk. e 3. Tracez sur un mme diagramme de Bode : e a) lamplitude des rponses frquentielles de chaque cellule en traitill ; e e e b) la rponse frquentielle du ltre complet en trait continu ; e e c) une droite horizontale situe au niveau 3dB en pointill. e e 4. Par programmation, recherchez la pulsation de coupure de ce ltre ; que vaut-elle ? (la pulsation de coupure correspond ` une amplitude diminue dun facteur 2 par a e rapport ` sa valeur maximum). a 5. Tracez la rponse indicielle du ltre. e Remarque : Les valeurs proposes pour la ralisation du ltre correspondent ` celles dun e e a ltre, dit de Butterworth, dont la rponse frquentielle est plate au maximum dans la e e bande passante.

8.4 Portance dune aile


Lors des essais de portance dune aile en fonction de son inclinaison, on a mesur les e valeurs suivantes [1] : Angle [deg] Force [N] -5 -2.80 0 1.08 5 5.00 10 8.80 15 11.9 17 12.4 19 12.4 21 11.8

1. Tracez le graphe de la portance. Mettez en valeur ce graphe ` laide dun titre et a dinformations sur labscisse et lordonne. e 2. Recherchez une loi polynomiale reprsentant au mieux cette caractristique. Au lieu e e de modier lordre du polynme dans le chier lui-mme, utilisez la commande o e input. 3. Sur un mme diagramme, tracez les points mesurs avec le symbole o et en continu, e e la courbe polynomiale pour un angle compris entre -10 et + 25 degrs. e 4. Sachant que la mesure de la force est entache dune erreur de 0.5 [N ], reprenez ce e diagramme et tracez les points mesurs avec les domaines derreur et, en continu, la e courbe polynomiale. 5. Quel est le polynome qui vous para le mieux adapt pour reprsenter cette aile ? t e e

fmy / septembre 2002

eivd Introduction a MatLab `

28

EXERCICES

8.5 Modlisation de la caractristique dune diode e e


Une diode semi-conductrice est un lment lectronique dont le fonctionnement peut tre ee e e reprsent par lquation suivante : e e e Id = Is eUd /nVT 1 avec : Id Ud Is VT = kT /q n courant traversant la diode tension mesure aux bornes de la diode e courant de saturation inverse potentiel thermique valant 26 mV @ T = 300 K facteur technologique (1 < n < 1.8 pour les diodes Si)

Lorsque la diode est conductrice, cette loi scrit plus simplement : e Id = Is eUd /nVT
0.18 Caractristique dune diode 2 Caractristique dune diode Is = xxx eta = xxx Rd = xxx 0

0.16

0.14 2 0.12 Courant Id [A] 4

0.08

Log10(Id) [A] 0 0.2 0.4 0.6 Tension Ud [V] 0.8 1

0.1

0.06 8 0.04 10

0.02

12

0.2

0.4 0.6 Tension Ud [V]

0.8

Fig. 13: Modlisation de la caractristique dune diode e e On dit alors que le courant cro exponentiellement avec la tension applique ` la diode t e a ou, de mani`re inverse, que la tension aux bornes de la diode cro logarithmiquement e t avec le courant : Id Ud = n VT ln Is Lorsque le courant traversant une diode relle est lev, on doit encore tenir compte dune e e e chute de tension ohmique due ` la rsistance de liaison entre la diode idale et les ls de a e e connexion. La chute de tension mesure aux bornes dune diode relle est alors dcrite e e e par : Id Ud = n VT ln + Rd Id Is

fmy / septembre 2002

EXERCICES

29

Sachant que lon a mesur sur une diode les tensions et courants prsents dans le tableau e e e suivant : Ud [V ] Id Id 0.2 0.6 nA 1 nA 0.3 15 nA 10 nA 0.4 350 nA 10 nA 0.5 9.0 A 5 A 0.6 220 A 5 A 0.7 5.5 mA 5 mA 0.87 137 mA 5 mA

1. Avec Matlab, calculez et dessinez les graphes de la gure 13. 2. Indiquez les domaines derreur avec la commande errorbar. 3. Ajustez successivement les param`tres Is et n pour obtenir la droite en pointill e e passant au mieux parmi les points mesurs puis variez Rd pour obtenir la courbe en e traitill. e 4. Achez sur le graphe la valeur des param`tres Is , n et Rd nalement trouvs. e e 5. Quelle(s) mthode(s) mathmatique(s) pourriez-vous utiliser pour trouver automae e tiquement ces param`tres ? e

8.6 Chute libre


On consid`re dans cet exercice un parachutiste qui saute dun ballon ` vitesse nulle et e a descend en chute libre. Les variables utiles ` la rsolution sont sa position y(t) oriente a e e vers le bas, sa vitesse v(t) ou y(t) et son acclration a(t) ou y (t). ee Lquation du mouvement du parachutiste dcoule de la loi de Newton : e e m(t) = m g Fair (t) y On consid`re gnralement que la force de frottement arodynamique est proportionnelle e e e e au carr de la vitesse ; on a alors : e Fair (t) = + signe (v(t)) v(t)2 Admettant que : la masse m du parachutiste est de 80 [kg], la vitesse maximum atteinte est denviron 200 [km/h], e e crivez un programme Matlab rpondant aux points suivants : 1. Sachant que le frottement de lair compense exactement le poids du parachutiste lorsque la vitesse maximum est atteinte, calculez le coecient du frottement arodynamique. e 2. Rsolvez lquation direntielle de lvolution du parachutiste et dterminez le e e e e e temps et la hauteur ncessaires pour atteindre le 98% de la vitesse limite. e

8.7 Saut ` llastique a e


Dans ce qui suit, on se propose daborder le probl`me du saut ` llastique par une e a e modlisation progressive [1]. Les param`tres ncessaires ` sa description sont : e e e a la masse m = 80 [kg] du sauteur,

fmy / septembre 2002

eivd Introduction a MatLab `

30 le coecient = 0.25 [N/(m/s)2 ] du frottement arodynamique e la longueur L = 150 [m] de llastique, e le coecient dlasticit k = 10 [N/m] de llastique, e e e le coecient de frottement interne = 7 [N/(m/s)] de llastique. e

EXERCICES

Les variables utiles ` la rsolution du probl`me sont : a e e la position y(t), la vitesse v(t) ou y(t), lacclration a(t) ou y (t). ee Lquation du mouvement du sauteur dcoule de la loi de Newton : e e m(t) = m g Fair (t) Felast (t) y avec : Fair (t) = + signe (v(t)) v(t)2
k (y(t) L) + v(t) si y(t) > L

Felast (t) =

si y(t) L

Ecrivez un programme Matlab rpondant aux points suivants : e 1. Rsolvez lquation direntielle en considrant un lastique sans frottements ine e e e e ternes ( = 0). 2. Tracez les graphes de position, vitesse et acclration ; vous paraissent-ils raisonee nables ? 3. Rsolvez lquation direntielle prenant en compte les frottements de llastique. e e e e 4. Tracez les graphes ; quelle est limportance des frottements internes ? 5. A quel instant et quelle vitesse, llastique commence-t-il ` se tendre ? e a 6. Que valent la vitesse maximum et lacclration maximum ? A quels instants apparaissentee elles ?

8.8 Particule dans un champ lectromagntique e e


On consid`re une particule de masse m = 50 1031 [kg] et de charge q = 8 1019 [C] e se dplaant dans un champ lectrique uniforme E = (1; 1; 1) [V /m] et un champ magne c e e tique uniforme B = (0.0; 0.1; 0.0) [T ]. Sachant quen linstant t = 0, la particule quitte lorigine du rfrentiel avec une vitesse nulle : ee 1. Calculez les composante de la vitesse et la position de la particule au cours du temps. 2. Tracez des graphes similaires ` ceux de la gure 14. a 3. Sur un nouveau graphe 3D, dessinez les vecteurs E et B.

fmy / septembre 2002

EXERCICES

31

1 0.8 0.6 0.4 0.2

x 10

Trajectoire y(x)

2.5 2 1.5 1 0.5

x 10

Trajectoire z(x)

0 8

0 x 10

2
7

0 8
6

0 x 10

2
7

x 10 3 2 1 0 1 x 10
5

2.5 2 1.5 1 0.5


6

x 10

Trajectoire z(y)

0.5 0 1

1 0 x 10

0.2

0.4

0.6

0.8 x 10

1
5

Fig. 14: Dplacement dune particule e

fmy / septembre 2002

eivd Introduction a MatLab `

32

EXERCICES

fmy / septembre 2002

LISTE DE QUELQUES FONCTIONS MATLAB

33

9 Liste de quelques fonctions Matlab


Cette liste, qui se veut non exhaustive, regroupe les commandes et fonctions les plus usuelles. Elle illustre galement la richesse des possibilits oertes. Pour plus de dtails, e e e il faut videmment consulter laide en ligne oerte par Matlab et proter des nombreux e exemples qui y sont proposs. e

9.1 Environnement Matlab


9.1.1 Commandes et fonctions help Aide what Liste les chiers *.m prsents dans le rpertoire courant e e type Imprime un chier

lookf Recherche dune entre dans laide e which Localise les fonctions et chiers demo Lance la dmonstration e

path Dnition des chemins dacc`s aux chiers et fonctions e e cedit Param`tres ddition dune ligne de commande e e version Ache le numro de version de Matlab e whatsnew info Ache les chiers README de la toolbox

Informations sur Matlab et Mathworks

why Fournit une rponse alatoire e e

9.1.2 Informations sur lespace de travail who whos save Ache les variables courantes Ache les variables courantes avec leurs dimensions Sauve lespace de travail sur disque

load Restaure lespace de travail ` partir du disque a clear Eace les variables et fonctions de la mmoire e close Ferme la fentre courante e

pack Rorganise la mmoire e e size Renvoie la taille dune matrice

length Renvoie la longueur dun vecteur disp Ache une matrice de texte

fmy / septembre 2002

eivd Introduction a MatLab `

34 9.1.3 Commandes syst`me e cd Change le rpertoire courant e pwd Ache le rpertoire courant e dir, ls Liste les chiers delete Suppression de chiers

LISTE DE QUELQUES FONCTIONS MATLAB

getenv Renvoie la variable denvironnement ! Appelle et excute une commande syst`me e e diary Sauvegarde le texte dune session Matlab 9.1.4 Fentre de commandes e clc Eace le contenu de la fentre de commandes e home Place le curseur en haut de lcran e

format Dnit le format dachage e echo Ache les instructions excutes par un script e e

more Controle de lachage pagin e quit, exit Ferme Matlab Matlabrc Fichier de dmarrage e 9.1.5 Caract`res spciaux e e [ ] Dnition de matrices ou vecteurs ; enserre les arguments de sortie des fonctions e ( ) G`re la priorit des oprations ; enserre les arguments dentre des fonctions e e e e . Point dcimal e .. rpertoire parent e ... Indique une ligne suite , Sparateur darguments ou dinstructions e ; Fin de lignes (matrices) ou suppression de lachage % Commentaires : Manipulation de sous matrices ou gnration de vecteurs e e ! Appel syst`me e 9.1.6 Oprateurs logiques e < Infrieur ` e a & Et > Suprieur ` e a

fmy / septembre 2002

LISTE DE QUELQUES FONCTIONS MATLAB

35

| Ou <= Infrieur ou gal ` e e a Non

>= Suprieur ou gal ` e e a xor Ou exclusif == Egal ` a = Dirent de e = Assignation 9.1.7 Variables prdnies ; dure et date e e e ans Rponse ` une expression sans assignation e a

eps Prcision de la virgule ottante e realmax Plus grand nombre ottant realmin Plus petit nombre ottant positif pi i,j 1 inf NaN ops Not a Number Nombre doprations ottantes par seconde e

nargin Nombre darguments dentre dune fonction e nargout Nombre darguments de sortie dune fonction computer Type du calculateur date Date courante

clock Horloge etime tic, toc cputime Dure dexcution e e Ache le dbut et la n dexcution e e Temps CPU coul e e

9.1.8 Fonctions logiques exist Teste lexistence dune variable ou dune fonction any Vrai si un lment est vrai ee all Vrai si tous les lments sont vrais ee nd Cherche lindice des lments non nuls ee isnan Vrai si llment nest pas un nombre ee isinf Vrai pour tout lment inni ee

fmy / septembre 2002

eivd Introduction a MatLab `

36 nite Vrai pour tout lment ni ee

LISTE DE QUELQUES FONCTIONS MATLAB

isieee Vrai si la reprsentation est au format IEEE e isempty Vrai pour une matrice vide issparse Vrai pour une matrice creuse isstr Vrai pour une cha de caract`res ne e strcmp Comparaison de deux cha nes 9.1.9 Instructions de contrle o if, else, elseif Test conditionnel for Instruction de rptition avec compteur e e while Instruction de rptition avec test e e end Terminaison de if, for et while break Interrompt une boucle return Retour error Ache un message et interrompt lexcution e 9.1.10 Instructions spciques e input Indicateur dattente dentre e keyboard Consid`re le clavier comme un chier script e menu Gn`re un menu de choix pour lutilisateur e e pause Attente

function Dnition de fonction e eval Excute une cha de caract`re e ne e feval Excute une fonction dnie dans une cha e e ne global Dnit les variables comme globales e nargchk Valide le nombre darguments dentre e

9.2 Fonctions mathmatiques e


9.2.1 Fonctions lmentaires ee abs Valeur absolue ou module dune grandeur complexe angle Argument dune grandeur complexe

sqrt Racine carre e real Partie relle e imag Partie imaginaire

fmy / septembre 2002

LISTE DE QUELQUES FONCTIONS MATLAB

37

conj Complexe conjugu e gcd PGCD lcm PPCM round Arrondi ` lentier le plus proche a x Troncature oor Arrondi vers le bas ceil Arrondi vers le haut sign Signe de rem Reste de la division

exp Exponentielle log log10 log2 pow2 Log nprien e e Log dcimal e Log base 2 Calcule 2 ` la puissance y a

9.2.2 Fonctions trigonomtriques e sin, asin, sinh, asinh cos, acos, cosh, acosh tan, atan, tanh, atanh cot, acot, coth, acoth sec, asec, sech, asech csc, acsc, csch, acsch 9.2.3 Fonctions prdnies e e bessel Fonction de Bessel beta Fonction beta Fonction gamma

gamma

rat Approximation par un rationnel rats Format de sortie pour rat

erf Fonction erreur erf ernv Inverse de erf ellipke Intgrale elliptique compl`te e e

ellipj Fonction elliptique de Jacobi expint Fonction intgrale exponentielle pour n=1 e

fmy / septembre 2002

eivd Introduction a MatLab `

38

LISTE DE QUELQUES FONCTIONS MATLAB

9.3 Matrices et alg`bre linaire e e


9.3.1 Oprateurs sur les matrices e +, -, *, Addition, Soustraction, Multiplication, Puissance

/, \ Division ` droite, Division ` gauche a a Transposition conjugue e 9.3.2 Oprateurs sur les composantes matricielles e +, -, .*, . Addition, Soustraction, Multiplication, Puissance

./, .\ Division ` droite, Division ` gauche a a . Transposition 9.3.3 Manipulation des matrices diag rot90 Cration ou extraction de la diagonale e Rotation de 90 degrs e

iplr Retournement gauche-droit ipud Retournement haut-bas reshape Redimensionnement tril Partie triangulaire infrieure e triu Partie triangulaire suprieure e . Transposition : Conversion matrice -> vecteur 9.3.4 Matrices prdnies e e zeros Matrice de 0

ones Matrice de 1 eye Matrice identit e diag Matrice diagonale

toeplitz Matrice de Toeplitz magic Carr magique e

compan Matrice compagnon linspace Vecteurs ` composantes linairement espaces a e e

fmy / septembre 2002

LISTE DE QUELQUES FONCTIONS MATLAB Vecteurs ` composantes logarithmiquement espaces a e

39

logspace

meshgrid Grille pour les graphiques 3D rand Nombres alatoires ` rpartition uniforme e a e randn Nombres alatoires ` rpartition normale e a e hilb Hilbert invhilb Inverse de Hilbert (exact) vander Vandermonde pascal Pascal hadamard Hadamard hankel Hankel rosser Matrice test pour le calcul des valeurs propres wilkinson Matrice test pour le calcul des valeurs propres gallery Matrices test de Higham 9.3.5 Oprations sur les matrices e poly Polynome caractristique e det Dterminant e eig trace Valeurs propres Trace

9.3.6 Dcomposition et factorisation de matrices e inv Inversion lu Dcomposition LU e rref Rduction de lignes e chol Factorisation de Cholesky qr Dcomposition QR e nuls ris Moindres carrs non-ngatif e e Moindres carrs avec covariance connue e

null Noyau orth Orthogonalisation eig hess Valeurs et vecteurs propres Forme de Hessenberg

schur Dcomposition de Schur, e cdf2rdf Forme complexe diagonale vers forme relle diagonale par blocs e rsf2csf Forme relle diagonale par blocs vers forme complexe diagonale e

fmy / septembre 2002

eivd Introduction a MatLab `

40

LISTE DE QUELQUES FONCTIONS MATLAB

balance Mise ` lchelle pour le calcul des valeurs propres a e qz Valeurs propres gnralises e e e polyeig Polynome aux valeurs propres svd Dcomposition en valeurs singuli`res e e pinv Pseudo-inverse

9.4 Textes et cha nes de caract`res e


abs Convertit une cha en valeurs numriques Ascii ne e blanks Cre une cha despaces e ne eval Convertit un texte en code Matlab num2str Convertit un nombre en cha ne int2str Convertit un nombre entier en cha ne str2num Convertit une cha en nombre ne isstr Vrai si llment est une cha ee ne strcmp Comparaison de cha nes upper Conversion en majuscule lower Conversion en minuscule hex2num Convertit une cha hxadcimale en ottant ne e e hex2dec Convertit une cha hxadcimale en entier ne e e dec2hex Convertit un entier en une cha hxadcimale ne e e

9.5 Fonctions graphiques


9.5.1 Graphiques 2D plot Dessine le graphe dune fonction loglog Graphe en chelle log-log e semilogx Graphe en chelle semi-log (abscisse) e semilogy Graphe en chelle semi-log (ordonne) e e ll Graphe de polynomes 2D remplis polar Graphe en coordonnes polaires e bar Graphe en barres stairs Graphe en marches descalier stem Graphe de raies errorbar Graphe avec barres derreur hist Histogramme rose Histogramme en coordonnes polaires e compass Reprsentation de vecteurs ` partir de lorigine e a feather Reprsentation de vecteurs sur un axe linaire e e

fmy / septembre 2002

LISTE DE QUELQUES FONCTIONS MATLAB

41

9.5.2 Annotation de graphiques title Titre du graphique

xlabel Lgende pour labscisse e ylabel Lgende pour lordonne e e zlabel Lgende pour la cote e grid Dessin dune grille text Texte gtext Placement de texte avec la souris ginput Entre graphique par la souris e 9.5.3 Contrle des fentres graphiques o e gure Ouvre une fentre graphique e

gcf Retourne le numro de la gure courante e clf Eace la gure courante close Ferme la gure courante

hold G`re la surimpression e ishold Etat de la surimpression subplot Sous fentres graphiques e axes gca axis caxis Axes en position arbitraire Retourne le numro des axes courants e Controle lapparence et lchelle des axes e Controle lchelle des axes et de la pseudocouleur e Dessine sur fond blanc

whitebg

cinvert Vido inverse e 9.5.4 Sauvegarde et copie graphique print Imprime ou sauve un chier printopt Conguration de limprimante orient Orientation paysage ou portrait 9.5.5 Objets 3D sphere Gnration de sph`res e e e

cylinder Gnration de cylindres e e peaks Dmonstration e

fmy / septembre 2002

eivd Introduction a MatLab `

42 9.5.6 Animations

LISTE DE QUELQUES FONCTIONS MATLAB

moviein Initialise lespace mmoire pour lanimation e getframe Enregistre une image pour lanimation movie Joue lanimation

9.5.7 Apparence des graphiques view Spcie langle de vue e

viewmtx Matrice de transformation hidden G`re les lignes caches e e shading Mode de remplissage

specular Rectance dune surface e diuse Rectance dune surface e surfnorm Calcule la surface normale

colormap Table de correspondances couleurs brighten Surbrillance ou sous brillance pour colormap spinmap Change colormap de mani`re cyclique e rgbplot Dessine la colormap hsv2rgb Conversion hsv vers rgb rgb2hsv Conversion rgb vers hsv 9.5.8 Graphiques tridimensionnels mesh Surface maille e meshc Combinaison mesh + dessin des qui-niveaux e meshz Surface maille avec plan de rfrence e ee

surf Surface 3D ` facettes a surfc Combinaison surf + dessin des qui-niveaux e sur Surface 3D ` facettes avec clairage a e plot3 Dessin de lignes et points en 3D

ll3 Graphe de polynomes 3D remplis contour Dessin 2D des qui-niveaux e contourc Calcul des valeurs utilises par contour e contour3 Dessin 3D des qui-niveaux e

clabel Etiquettes des qui-niveaux e pcolor Dessine en pseudocouleur

fmy / septembre 2002

LISTE DE QUELQUES FONCTIONS MATLAB

43

quiver Achage du gradient sous forme de `ches e image Ache une image Reprsentation chute deau e

waterfall slice

Visualisation en volume

9.5.9 Oprations sur les objets graphiques e uicontrol Cration dun interface de controle utilisateur e uimenu Cration dun interface menu utilisateur e set Dnit les proprits dun objet e ee get Lit les proprits dun objet ee reset Rinitialise les proprits dun objet e ee delete drawno Supprime un objet Force les v`nements graphiques en attente e e

9.6 Oprations sur les polynmes e o


poly Construit un polynome ` partir des racines a roots roots1 Calcul des racines Calcul des racines

polyval Valeur dun polynome en un point polyvalm Valeurs dun polynome en une matrice de points

conv Multiplication de deux polynomes deconv Division dun polynome par un autre residue Dcomposition en lments simples et rsidus e ee e

polyt Polynome dapproximation polyder Direntiation e

9.7 Analyse de donnes et statistiques e


9.7.1 Analyse de donnes par colonne e max Valeur max min Valeur min mean Valeur moyenne median Valeur mdiane e std Ecart type sort Tri en ordre croissant

fmy / septembre 2002

eivd Introduction a MatLab `

44 sum Somme des lments ee prod Produit des lments ee

LISTE DE QUELQUES FONCTIONS MATLAB

cumsum Vecteur des sommes partielles cumules e cumprod Vecteur des produits partiels cumuls e hist Histogramme

9.7.2 Analyse et traitement des signaux corrcoef Coecients de corrlation e cov Matrice de covariance lter Fitrage monodimensionnel lter2 Filtrage bidimensionnel

cplxpair Tri en paires complexes unwrap Suppression des sauts de phase nextpow2 Puissance de 2 immdiatement suprieure e e

t FFT monodimensionnel (frquences de 0 ` 1) e a r2 FFT bidimensionnel

ift FFT inverse it2 FFT inverse

tshift FFT (frquences de -1/2 ` 1/2) e a

9.8 Intgration, interpolation et et drivation numriques e e e


9.8.1 Intgration numrique e e quad Intgrale de Simpson e quad8 Intgrale de Newton-Cotes e trapz Mthode des trap`zes e e

9.8.2 Interpolation spline Interpolation spline cubique interp1 interp2 Interpolation monodimensionnel Interpolation bidimensionnel

interpft Interpolation 1D par FFT griddata Maillage de donnes e

fmy / septembre 2002

LISTE DE QUELQUES FONCTIONS MATLAB

45

9.8.3 Dirences nies e di Approximation de la drive e e

gradient Approximation du gradient del2 Laplacien sur 5-points

9.9 Optimisation et quations non linaires e e


fmin Minimisation dune fonction dune variable fmins fsolve fzero Minimisation dune fonction de plusieurs variables Rsolution dun syst`me dquations non-linaires e e e e Zro dune fonction dune variable e

9.10 Modlisation et analyse de syst`mes continus e e


Les fonctions qui suivent, malgr le fait quelles sont tr`s frquemment utilises dans die e e e vers domaines, appartiennent malheureusement ` la Control ToolBox ! a

tf Cration dune fonction de transfert e tfdata Extraction du numrateur et du dnominateur dune fonction de transfert e e

minreal Suppression des poles compenss par des zros (simplication algbrique) e e e damp Frquence propre et amortissement/rsonnance e e dcgain Gain en continu pzmap Position des poles et zros dans le plan complexe e roots Racines dun polynome

9.10.1 Construction dun mod`le e ord2 Cration dun mod`le continu dordre 2 e e

feedback Mise en raction (positive ou ngative) dun syst`me e e e parallel Connexion parall`le de deux mod`les e e series Connexion srie de deux mod`les e e

9.10.2 Rponse temporelle e step Rponse indicielle e impulse Rponse impulsionnelle e

initial Condition initiale pour une rponse temporelle e ltiview Visionneuse pour lanalyse de la rponse de syst`mes linaires e e e

fmy / septembre 2002

eivd Introduction a MatLab `

46 9.10.3 Rponse frquentielle e e bode Diagramme de Bode

LISTE DE QUELQUES FONCTIONS MATLAB

freqresp Rponse ` une gamme de frquence e a e linspace Vecteurs linairement espacs e e logspace Vecteurs logarithmiquement espacs e nichols ngrids Diagramme de Nichols Grille pour les diagrammes de Nichols

nyquist Diagramme de Nyquist

fmy / septembre 2002