Matlab [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

UNIVERSITÉ CHOUAIB DOUKKALI

École Nationale des Sciences Appliquées EL JADIDA - ENSAJ

Introduction à MATLAB Années Préparatoires au Cycle Ingénieur S2

Préparé et présenté par : Pr : Mhamed SAYYOURI

Année universitaire 2016-2017

UNIVERSITÉ CHOUAIB DOUKKALI

Ecole Nationale des Sciences Appliquées d’El Jadida-ENSAJ

Cours : Introduction à MATLAB Filière : Années Préparatoires au Cycle Ingénieur S2 Pr: Mhamed SAYYOURI Année universitaire 2016-2017 1

PLAN Introduction

P L A N

Interface de Matlab Calculs élémentaires

Evaluation: Contrôle

: 25%

Examen TP

: 25%

Examen Ecrit : 50%

Commandes de base Variables et fonctions. Matrices et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab 2

1

Introduction Introduction Interface de Matlab

Matlab (MATrix LABoratory) est l’une des principales plateformes de développement. Matlab est un système interactif de calcul numérique et de visualisation graphique.

Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

Il possède un langage de programmation simple et efficace, constitué de : de nombreux outils du calcul matriciel, des principaux algorithmes de l’analyse numérique (schémas d’intégration, différentiation...), des outils pour le traitement du signal, des outils de visualisation en 2D et 3D, l’outil Simulink, pour modéliser et simuler des systèmes en utilisant des schémas-blocs, des outils pour concevoir des interfaces utilisateur graphiques (GUI pour « Graphical User Interface ») personnalisées, la prise en charge d’échange de données et de signaux avec plusieurs type de matériels (oscilloscope, carte d’acquisition, carte de contrôle, etc.), l’intégration d’applications externes écrites en C, C++, Fortran, Java, Excel, etc. la conversion d'applications MATLAB en C et C++ .

3

M.SAYYOURI

Interface de Matlab Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

La fenêtre de commande (ou ligne de commande): c’est l’outil de base de Matlab. Elle permet entre autre de faire n’importe quelle opération, de définir et affecter les variables d’environnement, d’utiliser les toolboxes via leurs fonctions, …

4

M.SAYYOURI

2

Interface de Matlab Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D

La fenêtre d’historique de commande :

Programmation sous

permet de répéter les commandes précédentes en

Matlab

double-cliquant sur la commande concernée dans

Applications de Matlab

cette fenêtre. On peut obtenir le même résultat en ligne de commande par l’appui répétitif sur la touche « flèche haut » du pavé numérique.

5

M.SAYYOURI

Interface de Matlab Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

La fenêtre d’espace de travail : Cette fenêtre permet de visualiser les différentes variables existantes, en affichant leur nom, leur contenu (ou leur dimension) ainsi que le min et le max des données qu’elle contient. On peut obtenir la liste des variables ainsi que leurs dimensions en ligne de commande en tapant la commande « whos ». 6

M.SAYYOURI

3

Interface de Matlab Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux

La fenêtre de répertoire courant : Cette fenêtre permet de visualiser le répertoire de travail dans lequel vous êtes. C’est ici que sont chargés / enregistrés les scripts, les modèles ou les données.

graphiques 2D Programmation sous Matlab Applications de Matlab

7

M.SAYYOURI

Calculs élémentaires Introduction Interface de Matlab Calculs élémentaires

Matlab comme Calculatrice Le symbole [>>] indique à l’utilisateur où il faut rentrer la commande Commençons par les operateurs les plus courants : +, -, *, /, ^. Le dernier signifie «puissance». Les parenthèses s’utilisent de manière classique.

Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D

>> (3*2)/(5+3) ans = 0.7500

«

variable temporaire choisie par Matlab

»

4 décimales par omission

Programmation sous Matlab Applications de Matlab

>> r = (3*2)/(5+3) r= 0.7500

«

>> r r=

»

« 0.7500

» variable choisie par l’utilisateur

r conserve la dernière valeur calculée 8

M.SAYYOURI

4

Calculs élémentaires Introduction Interface de Matlab

>> x=3*r^2-r/3+2 x= 3.4375

«

»

Calculs élémentaires Commandes de base Variables et fonctions.

>> y=(x+2*i)^2 « » y= 7.8164 +13.7500i

Matrice et tableaux graphiques 2D

Un dernier point sur les variables :

Programmation sous

MATLAB fait la différence entre les minuscules et les majuscules.

Matlab

Les noms de variables peuvent avoir une longueur quelconque.

Applications de Matlab

Les noms de variables doivent commencer par une lettre. >> 1z=5 ??? 1z=5 Error: Unexpected MATLAB expression. 9

M.SAYYOURI

Commandes de base Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

M.SAYYOURI

Matlab comporte un très grand nombre d’opérateurs, de commandes et de fonctions. On peut taper à titre d’exemple les commandes suivantes : • • • • • •

help permet d’obtenir l’aide de l’aide et donne une liste thématique ; help nom de fonction donne la définition de la fonction désignée et des exemples d’utilisation ; lookfor sujet donne une liste des rubriques de l’aide en ligne en relation avec le sujet indiqué, clear permet d’effacer une partie ou toutes les variables définies jusqu’à Présent, who affiche les noms de toutes les variables en cours, whos affiche toutes les variables avec les détails.. >> who Your variables are: ans r x y >> whos Name Size Bytes ans 1x1 8 r 1x1 8 x 1x1 8 y 1x1 16

Class double double double double

Attributes

complex

>> clear x >> who Your variables are: ans r y >> clear all >> who >> 10

5

Variables prédéfinies Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux

Dans Matlab, on trouve des variables prédéfinies : • • • • • •

ans qui contient le dernier résultat de calcul i et j qui représentent racine 1. Pi qui représente eps qui est un nombre prédéfini. inf qui représente plus infini NaN : pas un nombre (not a number)

graphiques 2D Programmation sous Matlab Applications de Matlab

Attention : Ces variables ne sont pas protégées, donc si vous les affectez, elles ne gardent pas leur valeur. C’est souvent le problème pour i et j que l’on utilise souvent spontanément comme indices de boucles, de telle sorte qu’on ne peut plus ensuite définir de complexe ! !

>> pi ans = 3.1416 >> eps ans = 2.2204e-016 >> a=3*i+2 a= 2.0000 + 3.0000i >> b=3*j+2 b= 2.0000 + 3.0000i >> x=1/0 x= Inf >> y=x/x y= NaN 11

M.SAYYOURI

Fonctions prédéfinies Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous

Toutes les fonctions courantes et moins courantes existent dans Matlab. On retiendra que pour appliquer une fonction à une valeur, il faut mettre cette dernière entre parenthèses. >> a1=sin(pi/3), a2=cos(pi/3), a3=tan(pi/3) a1 = 0.8660 a2 = 0.5000 a3 = 1.7321

Matlab Applications de Matlab

Voici une liste non exhaustive : • • • • •

M.SAYYOURI

>> b1=sqrt(9) , b2=log(2), b3=log10(10), b4=exp(2) b1 = 3 b2 = 0.6931 b3 = 1 b4 = 7.3891

Fonctions trigonométriques et inverses : sin, cos, tan, asin, acos, atan Fonctions hyperboliques (on rajoute «h») : sinh, cosh, tanh, asinh, acosh, atanh racine, logarithmes et exponentielles : sqrt, log, log10, exp Fonctions erreur : erf, erfc La notion de fonction est plus générale dans Matlab, et certaines fonctions peuvent avoir plusieurs entrées (comme besselj par exemple) mais aussi plusieurs sorties.12

6

Exercices Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

Exercice 1 Exécutez l'introduction de Matlab, chargez l'aide. Bref, faites un petit tour du propriétaire selon la liste ci-dessous... • intro lance une introduction a Matlab • help produit une liste de toutes les commandes par thèmes • demo démonstration donnant une représentation des fonctionnalités de bases de Matlab • Info information sur la boite a outils disponibles Exercice 2 1. Tapez la commande a=1:7; puis Tapez les commandes a, who et whos. 2. Utilisez pour modifier a : a=1:2; 3. Tapez la commande b=a+2;. ré-exécutez les commandes who et whos en utilisant 4. Tapez clear a et b. Exercice 3 1. Calculer sous Matlab

.

3

2 , ln(5) , log (5) , sin( ) , 1 , 1 2i (1 3i ) 4 2 4 2. Trouver le volume d’une sphère de rayon r=2m v r 3 3. Afficher les résultats précédents sous format long , long e short e et rationnelle. 2

1.25

11 , e , 9

2

10

3

13

M.SAYYOURI

Matrices et tableaux Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

Dans Matlab, toutes les variables représentent des matrices. On peut considérer donc qu’il y a un seul type principal de données : le type matrice. Les éléments d’une matrice peuvent être : des nombres (réels ou complexes), ou des caractères.

Exemple: Un scalaire est une matrice 1 × 1,

1 un vecteur colonne de dimension n est une matrice n × 1: Exemple 2 , 3 un vecteur ligne de dimension n est une matrice 1 × n : Exemple 1 2 3

On utilise les crochets [ et ] pour définir le début et la fin de la matrice. Ainsi pour définir une variable M contenant la matrice

, on écrira: 14

M.SAYYOURI

7

Matrices et tableaux Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

>> % 3 écriture d'une matrice >> M=[1 2 3 456 7 8 9] M= 1 2 3 4 5 6 7 8 9 >> M=[1 2 3; 4 5 6 ; 7 8 9] M= 1 2 3 4 5 6 7 8 9 >> M=[1, 2 ,3 ; 4, 5, 6 ; 7, 8, 9] M= 1 2 3 4 5 6 7 8 9

>> % écriture d'un vecteur ligne >> A=[1 2 3 4] A= 1 2 3 4 >> A=[1 ,2 ,3 ,4] A= 1 2 3 4 >> % écriture d'un vecteur colonne >> B=[1 ; 2 ; 3 ; 4] B= 1 2 3 4 >> C=[1 2 3 4 ; 5 6 7 8] C= 1 2 3 4 5 6 7 8

>> % la taille de la matrice M >> size(M) ans = 3 3 >> % la taille du vecteur A >> size(A) ans = 1 4 % la taille du vecteur B >> size(B) ans = 4 1 % la taille de la matrice C >> size(C) ans = 2 4

15

M.SAYYOURI

Matrices et tableaux Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

Matlab propose des commandes pour créer certaines matrices particulières très simplement. Pour plus d’information, lire le help de chaque fonction. Commande ones(n,m) zeros(n,m) eye(n,m) diag(v) rand(n,m) >> ones(3,2) ans = 1 1 1 1 1 1

Description Matrice de taille n × m ne contenant que des 1. Matrice de taille n × m ne contenant que des 0. Matrice de taille n × m contenant des 1 sur la première diagonale et des 0 ailleurs. Matrice diagonale où les éléments de la diagonale sont les composantes du vecteur v. Matrice de taille n × m contenant des nombres aléatoires >> zeros(2,3) ans = 0 0 0 0 0 0

>> eye(3,3) ans = 1 0 0 0 1 0 0 0 1

>> rand(3,3) ans = 0.7922 0.0357 0.6787 0.9595 0.8491 0.7577 0.6557 0.9340 0.7431

>> diag([1 2 3]) ans = 1 0 0 0 2 0 0 0 3

Matlab dispose également de moyens très simples pour créer des listes. La commande [a:p:b] crée une liste dont les éléments sont: a, a + p, a + 2*p, . . . , a + n*p, où n N, a+n*p b < a+(n+1)*p 16 M.SAYYOURI

8

Matrices et tableaux Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

Le cas particulier [a : b] est un raccourci pour [a:1:b]. Si les conditions initiales sont erronées, Matlab renvoie un message d’erreur. >> x=[0:10:50] x= 0 10 20 30 40 >> format rational , x=[-1:0.5:1] x= -1 -1/2 0 1/2 1 >> format short , x=[-1:0.5:1] x= -1.0000 -0.5000 0 0.5000 1.0000 >> x=[1:5] x= 1 2 3 4 5

50

linspace : Un autre cas particulier de [a:p:b] est la fonction linspace(a,b,n). Celle-ci crée une liste de n éléments uniformément répartis entre a et b. Autrement dit, linspace(a,b,n) est la même chose que [a: (b a)/(n 1):b]. 17

M.SAYYOURI

Matrices et tableaux Introduction Interface de Matlab

>> linspace(-1,1,9) ans = -1.0000 -0.7500 -0.5000 -0.2500

0 0.2500 0.5000 0.7500 1.0000

Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux

Une dernière méthode pour créer des tableaux est la concaténation. Si A et B sont deux tableaux, alors [A B], ou [A,B] est le tableau obtenu en collant B à la droite de A, et [A ;B] est le tableau obtenu en collant B au-dessous de A. Comme d’habitude, il faut faire attention aux tailles de A et de B.

graphiques 2D Programmation sous Matlab Applications de Matlab

>> A=[1 2 3; 4 5 6] A= 1 2 3 4 5 6 >> B=eye(2,2) B= 1 0 0 1

>> C=[A B] C= 1 2 3 1 4 5 6 0 >> D=ones(1,5) D= 1 1 1 1

0 1 1

>> E=[C;D] E= 1 2 3 4 5 6 1 1 1

1 0 1

0 1 1

>> F=[E; zeros(2,5)] F= 1 2 3 1 0 4 5 6 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

18

M.SAYYOURI

9

Matrices et tableaux Introduction Interface de Matlab Calculs élémentaires

La fonction logspace(i, j, k) génère un vecteur de k éléments allant de 10 à 10

>> a=logspace(0,2,5) % 10^0 10^0.5 10^1 10^1.5 10^2 a= 1.0000 3.1623 10.0000 31.6228 100.0000

Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

On peut créer des matrices à l’aide de commande : et des fonction linspace et logspace >> A=[1:3 ; -2:0 ; -2 5 6] A= 1 2 3 -2 -1 0 -2 5 6 >> B=[linspace(1,2,4); linspace(2,8,4) ; logspace(1,4,4)] B= 1 4/3 5/3 2 2 4 6 8 10 100 1000 10000

19

M.SAYYOURI

Matrices et tableaux Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions.

Accès et modifications

On peut accéder et modifier les éléments d’une matrice. Dans ce qui suit, A désigne un tableau de taille quelconque, k et l sont des nombres entiers. Commande A(k , l) A(k)

Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

M.SAYYOURI

A(k , :) A(: , l)

Description Renvoie l’élément se trouvant à la kème ligne et la lème colonne. Renvoie le kème élément d’une matrice. En Matlab, les éléments d’une matrice de taille n × m sont indexés de 1 à n*m de haut en bas et de gauche à droite. Renvoie la kème ligne de la matrice. Renvoie la lème colonne de la matrice.

>> A=[1 2 3 4; 5 6 7 8] A= 1 2 3 4 5 6 7 8 >> A(2,4) ans = 8 >> A(2,:) ans = 5 6 7 8

>> A(:,4) ans = 4 8 >> A(8) ans = 8 >> A(10) ??? Index exceeds matrix dimensions.

>> A(:,:) ans = 1 2 5 6

3 7

4 8

20

10

Matrices et tableaux Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

Accès et modifications Pour modifier les éléments d’une matrice, on utilise les mêmes commandes que ci-dessus. On ajoute à la commande le signe [=] et la nouvelle valeur. A= 1 2 3 4 5 6 7 8 >> A(2,3)=0 A= 1 2 3 4 5 6 0 8 >> A(:,1)=zeros(2,1) A= 0 2 3 4 0 6 0 8 >> A(1,:)=-A(1,:) A= 0 -2 -3 -4 0 6 0 8

>> A(3,3)=5 A= 0 -2 -3 0 6 0 0 0 5 >> A(4,4)=10 A= 0 -2 -3 0 6 0 0 0 5 0 0 0 >> A A =A(2:3;2:5) 6 0 0 5

-4 8 0 -4 8 0 10

21

M.SAYYOURI

Matrices et tableaux Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

Opérations avec les matrices Matlab permet de faire certaines opérations avec des matrices. Dans ce qui suit, A et B sont des tableaux et c est un scalaire. Commande Description A+B Addition terme à terme ; A et B doivent avoir le même format. A+c = c+A Addition de c aux éléments de A. A-B Soustraction terme à terme ; A et B doivent avoir le même format. A-c Soustraction de c aux éléments de A. c-A Tableau dont les éléments sont c . A*B Produit matriciel standard ; nb. col. A doit être le même que nb de ligne de B A*c = c*A Multiplication de c aux éléments de A. A.*B Multiplication terme à terme ; A et B doivent avoir le même format. Aˆn (n ) A * A * . . . * A (n fois) ; A doit être carrée. Aˆn (n ) * *...* (|n| fois) ; A doit être inversible. A.ˆB Tableau dont les éléments sont A’ Transposition et conjugaison. 22

M.SAYYOURI

11

Matrices et tableaux Introduction Interface de Matlab Calculs élémentaires Commandes de base

Opérations avec les matrices A.’ B/A A\B

Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

A./B A.\B A/c

Transposition ; A.’ = A’ dans le cas où A est réelle. Le résultat est un tableau X tel que XA = B. Si A est inversible, alors X = B ; nb. col. A doit être le même que nb. col. B. Le résultat est un tableau X tel que AX = B. Si A est inversible, alors X = B ; nb. Ligne de A doit être le même que nb. Ligne de B. Division terme à terme des éléments de A par ceux de B ; A et B doivent avoir le même format. Division terme à terme des éléments de B par ceux de A ; A et B doivent avoir le même format. Division des éléments de A par c.

Exemple >> B=[-1 4 -5; 2 1 0; 1 1 -1]; >> A=[1 2 3; 4 0 0; 1 0 1]; >> B=[-1 4 -5; 2 1 0; 1 1 -1]; >> A+B ans = 0 6 -2 6 1 0 2 1 0

M.SAYYOURI

>> A*B ans = 6 9 -4 16 0 5 >> A^2 ans = 12 2 4 8 2 2

-8 -20 -6 6 12 4

>> A/B ans = 1.5000 6.5000 -10.5000 -1.0000 -1.0000 5.0000 0 1.0000 -1.0000 >> A.*B ans = -1 8 -15 8 0 0 1 0 -1

23

>> 2*A+B-3 ans = -2 5 -2 7 -2 -3 0 -2 -2 >> A' ans = 1 4 1 2 0 0 3 0 1

Matrices et tableaux Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

M.SAYYOURI

Fonctions sur les matrices Etant donnée une matrice A, il y a un certain nombre de choses que l’on peut calculer en rapport avec A. Nous présentons ici quelques fonctions définies dans Matlab prenant comme paramètre des tableaux. Commande det(A) trace(A) rank(A) diag(A) norm(v) mean(A) sum(A) prod(A) max(A) min(A) length(A)

Description Renvoie le déterminant de A ; celle-ci doit être carrée. Renvoie la trace de A. Renvoie le rang de A Renvoie la première diagonale de A. Renvoie la norme euclidienne de v ; v est un vecteur. Il est aussi possible de calculer d’autres normes ; Renvoie une liste contenant la moyenne des éléments de chaque colonne. Renvoie une liste contenant la somme des éléments de chaque colonne. Renvoie une liste contenant le produit des éléments de chaque colonne. Renvoie une liste contenant la valeur maximale chaque colonne. Renvoie une liste contenant la valeur minimale de chaque colonne. Renvoie le maximum entre le nombre de lignes et de colonnes

Finalement, on précise que toutes les fonctions mathématiques classiques (cos, sin, log, exp, etc) s’appliquent également aux tableaux. Le résultat est un tableau où l’on a appliqué terme 24 à terme la fonction en question.

12

Matrices et tableaux Introduction

Exemple

Interface de Matlab

>> A=[1 2 3; 4 0 0; 1 0 1]; >> det(A) ans = -8 >> trace(A) ans = 2 >> rank(A) ans = 3 >> diag(A) ans = 1 0 1 >> norm(A) ans = 4.5611

Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

>> mean(A) ans = 2.0000 0.6667 1.3333 >> sum(A) ans = 6 2 4 >> prod(A) ans = 4 0 0 >> max(A) ans = 4 2 3 >> min(A) ans = 1 0 0 >> length(A) ans = 3

>> size(A) ans = 3 3 >> sum(sum(A)) ans = 12 >> mean(mean(A)) ans = 1.3333 >> max(max(A)) ans = 4 >> exp(A) ans = 2.7183 7.3891 20.0855 54.5982 1.0000 1.0000 2.7183 1.0000 2.7183 25

M.SAYYOURI

Graphique 2D Introduction

Les possibilités graphiques de Matlab sont innombrables. Pour créer le graphe de la fonction sinus par

Interface de Matlab

exemple, nous commençons par définir deux vecteurs: x = -2*pi : pi/4 : 2*Pi ; y = sin(x);

Calculs élémentaires

ensuite nous construisons le graphe au moyen de la commande: plot(t , y)

Commandes de base

On peut superposer un quadrillage (ou le faire disparaitre) par les commandes: grid (ou grid off)

Variables et fonctions.

On peut aussi mettre un titre, mettre des étiquettes aux axes: title ('graphe de sinus'), xlabel('x'),

Matrice et tableaux

ylabel('sinus(x)')

graphiques 2D Programmation sous Matlab Applications de Matlab

>> x = -2*pi : 0.01 : 2*pi ; >> y = sin(x); >> plot(x, y) >> grid % afficher la grille >> % afficher le titre et les étiquettes >> title ('Graphe de Sinus') >> xlabel('x') >> ylabel('y=sinus(x)') 26

M.SAYYOURI

13

Graphique 2D Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions.

Afin d'afficher deux ou plusieurs graphes en même temps, une série des coordonnées (x, y) est introduise a la fonction plot: plot(x1, y1, x2, y2, …) . La legende (surtout en cas de plusieurs graphes) peut être affichée en utilisant la commande legend(legend1, legend2, …). La commande legend('show') permet de montrer la légende, par contre la commande legend('hide') permet de la cacher.

Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

>> x = -2*pi : 0.01 : 2*pi ; y = sin(x); z=cos(x); >> plot(x, y, x, z) >> legend('sin(x)','cos(x)') >> legend('hide') >> legend('show') >> title ('Graphe de Sinus et cosnus') >> xlabel('x') >> ylabel('y') 27

M.SAYYOURI

Graphique 2D Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

La commande plot(x, y, LineSpec) affiche un graphe avec la spécification donnée par LineSpec qui est formée au plus de trois valeurs: style de ligne, type de marquer, et la couleur. Par exemple plot(x, y, '-+b') affiche un graphe bleu de la forme -+-+-+… Noter bien que la spécification 'type de marqueur' est utilisée pour les points choisies (vecteurs x et y), par contre la spécification 'style de ligne' couvre toute la courbe. Symbole -: -. Symbole y m c r g b w k

Style de ligne Ligne solide (par défaut) La ligne non continue La ligne pointillée La ligne tiret-point Couleur Jaune Magenta Cyan Rouge Vert Bleu Blanc Noir

Symbole o + * . x s d ^ V > < p h

Type de Marqueur Cercle Signe plus Astérisque Point Croix Carré Diamant Triangle vers le haut Triangle vers le bas Triangle pointant à droite Triangle pointant à gauche Pentagramme Hexagramme 28

M.SAYYOURI

14

Graphique 2D Introduction Interface de Matlab Calculs élémentaires

Exemple >> x = -2*pi : 0.1 : 2*pi ; >> y = sin(x);

Commandes de base

>> z=cos(x);

Variables et fonctions.

>> legend('sin(x)','cos(x)')

Matrice et tableaux

>> plot(x, y, '-ob', x, z, '-.dr')

graphiques 2D

>> legend('sin(x)','cos(x)')

Programmation sous

>> title('Graphe de Sinus et cosnus')

Matlab

>> xlabel('x')

Applications de Matlab

>> ylabel('y')

29

M.SAYYOURI

Programmation sous Matlab Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

M.SAYYOURI

Un script Matlab est composé d'une suite d'instructions ou de commandes, toutes séparées par une virgule (,), un point-virgule (;) ou un retour a la ligne ( ). Matlab facilite l’édition d’un nouveau script en utilisant le bouton (New Script) qui fait appel a l’éditeur de Matlab. L’éditeur de Matlab crée par défaut un nouveau script sous le nom ‘untitled.m’. Le programmeur peut spécifié ultérieurement un nom de son choix en utilisant le bouton (Save). Généralement, le script est sauvegardé dans un fichier avec l’extension ‘.m’ (ex : script1.m) sous le dossier courant. On peut aussi charger un fichier déjà édite en utilisant le bouton (Open). L’exécution du script se fait a travers l’invite de commande en spécifiant juste le nom du script. L’exécution peut être effectuée directement depuis l’éditeur en cliquant sur le bouton (Run). Néanmoins, les sorties des scripts (affichage des résultats) se fait toujours sur la fenêtre des commandes. % mon premier script a = 1; b = 2; c = a + b; disp('la valeur de c est :'); disp(c); fprintf('la somme de %d et %d égale à %d \n', a, b, c); str = sprintf('%d + %d = %d \n', a, b, c); disp(str);

30

15

Programmation sous Matlab Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

31

M.SAYYOURI

Programmation sous Matlab Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

Affichage L’affichage des variables se fait simplement par la spécification de leurs noms sans point virgule a la fin de la ligne. La commande disp(X) affiche une variable X (chaine de caractères, entier, …) sur la fenêtre des commandes. La commande disp n’accepte qu’un seul type de donnée a la fois. La commande fprintf() accepte tous genre de variable en utilisant leurs formats de types : %d pour les entiers, %f pour les réels, %s pour les chaines de caractères, %c pour le caractères, … . On peut ajouter un retour a la ligne via ‘\n’ et une tabulation via ‘\t’. La commande sprintf() sauvegarde tous genre de variables de la même manière que fprintf, mais sans affichage sur la fenêtre des commandes. sprintf() retourne une chaine de caractères qui peut être affichée ultérieurement en utilisant la commande disp().

Introduction des données à partir du clavier : La commande input(msg) fait introduire une valeur à partir du clavier en affichant d’abord un message msg. 32

M.SAYYOURI

16

Programmation sous Matlab Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

M.SAYYOURI

clear all clc; % lecture de deux valeurs a = input ('Entrer la valeur de a : '); b = input ('Entrer la valeur de b : '); % somme c = a + b; % affichage fprintf('%f + %f = %f \n', a, b, c); % introduction d'un vecteur vec = input('entrer un vecteur de 5 éléments : '); % introduction d'une matrice mat = input('entrer une matrice de 3x3 éléments : '); vec mat Entrer la valeur de a : -2.5 Entrer la valeur de b : 3.18 -2.500000 + 3.180000 = 0.680000 entrer un vecteur de 5 éléments : zeros(1,5) entrer une matrice de 3x3 éléments : randi(3,3) vec = 0 0 0 0 0 mat = 3 3 1 3 2 2 1 1 3

33

Programmation sous Matlab Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous

Les instructions d’alternative (IF et SWITCH): Comme dans la majorité des langages de programmation, Matlab permet d’utiliser l’instruction if selon la syntaxe suivante : if condition Commandes elseif condition Commandes … else Commandes end ; Les segments de elseif est else sont optionnels, par contre la parution de if et end est obligatoire

Matlab Applications de Matlab

Exercice 1. Écrire un script Matlab eq2degre.m qui permet de résoudre une équation de second degré à une seule variable , 2. Écrire un script Matlab qui permet de tester la parité d’un nombre entier naturel donné par l’utilisateur

34

M.SAYYOURI

17

Programmation sous Matlab Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

M.SAYYOURI

%équation de second degré a=input('entrer a: '); b=input(' entrer b: '); c=input('entrer c : '); delta=b^2-4*a*c; if delta > 0 disp('l'‘équation admet deux solutions différentes'); x1=(-b+sqrt(delta))/2 x2=(-b-sqrt(delta))/2 elseif delta==0 disp('l'‘équation admet une seule solution'); x2=-b/2 else disp('l'‘équation n''admet pas de solutions'); end

entrer a: 1 entrer b: -3 entrer c : 2 l‘équation admet deux solutions différentes x1 = 2 x2 = 1

35

Programmation sous Matlab On a aussi la possibilité d'utiliser l’instruction switch-case comme pour le langage C : Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous

switch expression % variable (comme a) ou expression de variables (a+b, f(a), …) case cas1 % valeur 1 de l’expression commandes case cas2 % valeur 2 de l’expression commandes … otherwise % autre valeurs de l’expression commandes end ;

Matlab Applications de Matlab

M.SAYYOURI

Exemple Écrire un script Matlab qui demande un nombre compris entre 1 et 5 à l’utilisateur et le convertit en lettre .

% lecture d'un entier a = input('Entrer un entier entre 1 et 5:'); switch a case 1 disp('UN'); case 2 disp('DEUX'); case 3 disp('TROIS'); case 4 disp('QUATRE'); case 5 disp('CINQ'); otherwise disp('cet entier n''est pas entre 1 et 5'); end; Entrer un entier entre 1 et 5 : 3 TROIS Entrer un entier entre 1 et 5 : 8 cet entier n'est pas entre 1 et 5

36

18

Programmation sous Matlab Les boucles: Introduction

En Matlab, on utilise deux formes de boucle: Interface de Matlab

L’instruction for pour les boucles à nombre d’itération connu : Calculs élémentaires

for variable = valeur initiale : pas : valeur finale Commandes de base

commandes Variables et fonctions.

end ; Matrice et tableaux

et l’instruction while pour les boucles a condition de continuation. graphiques 2D

while condition de continuation Programmation sous

commandes Matlab

end ; Applications de Matlab

% affichage des nombres naturels %impairs et inférieurs à 10 % avec la boucle for for i = 1:2:10 disp(i); end;

% avec la boucle while i = 1; while i > fact(5) s = 120

graphiques 2D Programmation sous Matlab Applications de Matlab

function [s p]=somprod(n); s=0; p=1; for i=1:n s=s+i; p=p*i; End >>[s p]=somprod(5) s = 15 p = 120

function seconeq(a,b,c); %équation de second degré delta=b^2-4*a*c; if delta > 0 disp('l''équation admet deux solutions différentes'); x1=(-b+sqrt(delta))/2 x2=(-b-sqrt(delta))/2 elseif delta==0 disp('l''équation admet une seule solution'); x1=-b/2 Else >> seconeq(1,-3,2) l'équation admet deux solutions différentes x1 = 2 x2 = 1 function [s p]=somprod(n); s=0; p=1; i=1; while i> a=(1> b=(5==12/3) b= 0 >> c=(a | b) c= 1 >> d= (a & b) | c d= 1 >> f=(~a)&(~b) f= 0 x=(a~=b) x= 1

>> A=[1 2 3 4] A= 1 2 3 >> B=[4 2 5 4] B= 4 2 5 >> A==b ans = 0 1 0 >> A> A~=B ans = 1 0 1 >> ~(A> ~A0 = sin 2 > p=[2 -1 3 -5], q=[3 -5 3] p= 2 -1 3 q= 3 -5 3 >> a=polyval(p,-2) a= -31 >> b=polyval(q,1.5) b= 9/4 >> s=p+[0 q] s= 2 2 -2 >> r=2*p-3*[0 q] r=

M.SAYYOURI

4

-11

21

-5

>> t=conv(p,q) t= 6 -13 20 >> [u,v]=deconv(p,q) u= v=

-2

-19

2/3 0

2

34

-15

7/9 0

>> conv(q,u)+v ans = 2 -1 >> p p=

-33

-1

44/9

-22/3

3

-5

3

-5 44

22

?

Application de Matlab Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

Racines et Interpolations • La commande roots(P) fait extraire les racines d’un polynôme P. • La commande poly(V) retourne un polynôme depuis ses racines stockées dans le vecteur V. • La commande Polyfit(X, Y, n) permet d’approximer un polynôme de dégrée n qui passent approximativement par les points (X, Y). Cette approximation P(X(i))=Y(i) est au sens des moindres carrées : p1=[1 -5 6] p1 = 1 -5 >> a=roots(p1) a= 3 2 >> poly(a) ans = 1 -5 >> poly([1 1 1]) ans = 1 -3 3 -1

6

6

>> x=[0 1 4]; y=[0 2 3]; >> p11=polyfit(x,y,2) p11 = -0.4167 2.4167 -0.0000 >> p12=polyfit(x,y,1) p12 = 0.6538 0.5769 >> polyval(p11,4) ans = 3 >> polyval(p12,4) ans = 3.1923 45

M.SAYYOURI

?

Application de Matlab Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

M.SAYYOURI

Dérivation et Intégration d’un polynôme • La commande polyder(P) retourne la dérivée d’un polynôme P. • La commande polyint(P) retourne l’intégral d’un polynôme P. Si on veut calculer l’intégral entre deux point x1 et x2, on utilise la commande polyval pour évaluer l’intégral sur ces deux points puis on applique la soustraction. >> p=[1 1 1 1]; >> der_p=polyder(p) der_p = 3 2 1 >> der_p=polyder(polyder(p)) der_p = 6 2 >> int_p=polyint(p) int_p = 1/4 1/3 1/2 1 0 >> int_p12=polyval(int_p,2)-polyval(int_p,1) int_p12 = 103/12

% p(x)=x^3+x^2+x+1 %p’(x)=3x^2+2x+1 %p’’(x)=6x+1 %intégral de p(x)=1/4x^4+1/3x^3+1/2x^2+x+0

46

23

?

Application de Matlab Introduction Interface de Matlab Calculs élémentaires

Résolution des Systèmes Linéaires • Un système linéaire est un ensemble de n équations a p variables de la forme :

a x 11

a x

1

12

2

...

a x

...

a x

1p

b

p

1

Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous

a x 21

a x

1

22

2

2p

p

b

2

... a

p 11

a x p1

x 1

1

a

p 12

a x p2

2

x

...

2

...

a

p 1p

a x pp

p

x

b

p

b

p

p

Matlab Applications de Matlab

M.SAYYOURI

Les aij sont appelés les coefficients du système ; les bk ont le second membre du système (ou la partie gauche). En calcul matriciel, un système linéaire s’écrit comme en deux formes : AX = B, ou • A matrice des coefficients. • X vecteur colonne des inconnues. • B vecteur colonne comme second membre.

47

?

Application de Matlab Résolution d’un système linéaire Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

Matlab fournie plusieurs techniques afin de résoudre un système linéaire. Néanmoins, il reste a l’utilisateur de vérifier la compatibilité du système linéaire (s’il existe solution). Par exemple, si le déterminant de A est non-nul alors le système accepte une solution. Par contre, si le déterminant est nul le système peut accepter un nombre infini de solution ou un ensemble vide des solutions. La commande X = A\B fait résoudre le système linéaire AX = B (noter l’antislash). La commande X = B/A fait résoudre le système linéaire XA = B (noter le slash). On peut calculer directement l’inverse de A en le multipliant par B. Il faut noter que la multiplication matricielle n’est pas commutative ! La commande X = inv(A)*B fait résoudre le système linéaire AX = B. La commande X = B*inv(A) fait résoudre le système linéaire XA = B. Exemple Résoudre le système suivants:

M.SAYYOURI

x 2y z 1 x y z 0 2x 3 y z 1

1 1 2

2 1 1 1 3 1

x y z

1 0 1

48

24

?

Application de Matlab Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

>> A=[1 2 1;1 -1 1;2 3 1],B=[1 ;0; 1] A= 1 2 1 1 -1 1 2 3 1 B= 1 0 1 >> X=A\B X= -1/3 1/3 2/3 >> X=inv(A)*B X= -1/3 1/3 2/3

Pour les commande A\B et B/A, si la matrice A n’est pas singulière, le résultat est (0/0) pour un nombre infini de solutions, et (k/0, k 0) pour l’ensemble vide ().Pour les commande inv(A)*B et B*inv(A), si la matrice A n’est pas singulière, le résultat est toujours (k/0, k 0). >> A1=[1 2;2 4],B1=[2 ;3] A1 = 1 2 2 4 B1 = 2 3 >> X1=A1\B1 X1 = 1/0 -1/0 >> X1=inv(A1)*B1 X1 = 1/0 1/0

>> A1=[1 2;2 4],B1=[2 ;4] A1 = 1 2 2 4 B1 = 2 4 >> X1=inv(A1)*B1 X1 = 1/0 1/0 >> X1=A1\B1 X1 = 0/0 0/0

M.SAYYOURI

49

?

Application de Matlab Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

M.SAYYOURI

Résolutions des équations et des inéquations, linéaires et non-linéaires Matlab utilise la commande solve afin de résoudre les équations et les inéquations, les systèmes linéaires et non linéaires. Tout d’abord, il est nécessaire de déclarer des variables symboliques des équations (ou inéquations, …) en utilisant la commande syms. Il faut noter que solve retourne des solutions sous forme symbolique ou formelle au lieu de numérique (racine de 2 a la forme numérique de 1.4142 et la forme formelle 2^(1/2)). >> syms a b x inéquation de 2 degré >> sqrt(sym(2)) >> syms x %équation de >> solve(a*x+b,x) ans = 2 degré ans = 2^(1/2) >> solve(x^2-3*x+2) >> a=sym(1)/sym(3) ans = -b/a a= 1 >> syms a b c x 1/3 2 >> solve(a*x^2+b*x+c,x) >> b=sym(2)/sym(5) >> syms x, ans = b= solve(x^2+x+1) 2/5 ans = -(b + (b^2 - 4*a*c)^(1/2))/(2*a) >> c=a+b - 1/2 - (3^(1/2)*i)/2 -(b - (b^2 - 4*a*c)^(1/2))/(2*a) c= - 1/2 + (3^(1/2)*i)/2 11/15

50

25

?

Application de Matlab Introduction Interface de Matlab Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

La commande solve permet aussi de résoudre une inéquation ou un système linéaire ou non linéaire des inéquations. >> syms x y % système à trois inconnues >> S = solve(x+y-5, x-y-1) S= x: [1x1 sym] y: [1x1 sym] >> [S.x S.y] ans = [ 3, 2] >> syms x y z % système à trois inconnues >>S=solve(x+y+z-5, x-y-z-1,2*x+y-2*z+1) S= x: [1x1 sym] y: [1x1 sym] z: [1x1 sym] >> [S.x S.y S.y] ans = [ 3, -1, -1]

>> syms x % inéquation de 2 degré >>solve('x^2-9 =0') ans = Dom::Interval([3], Inf) Dom::Interval(-Inf, [-3])

51

M.SAYYOURI

?

Application de Matlab La boîte à outils de Calcul symbolique permet de calculer la dérivé , l’intégral et les limites d’une fonction. Introduction

Calcul de la dérivée d’une fonction Interface de Matlab Calculs élémentaires

diff(f) calcule la dérivée de f par rapport à x : Pour calculer la dérivée seconde : diff(f,2) ou bien diff(f,x,2)

Commandes de base

La fonction diff peut également agir sur une matrice. Dans ce cas la dérivation est effectuée sur chaque

Variables et fonctions.

élément de la matrice,

Matrice et tableaux

>> syms a b x graphiques 2D

>> f=a*cos(x)+b

Programmation sous

f=

Matlab

b + a*cos(x)

Applications de Matlab

>> diff(f) ans = -a*sin(x) >> diff(x^3+2*x^2+3*x+1,x) ans = 3*x^2 + 4*x + 3

M.SAYYOURI

>> A=[cos(3*x) sin(2*x); tan(x) 1] A= [ cos(3*x), sin(2*x)] [ tan(x), 1] >> diff(A) ans = [ -3*sin(3*x), 2*cos(2*x)] [ tan(x)^2 + 1, 0] >> diff(A,2) ans = [ -9*cos(3*x), -4*sin(2*x)] [ 2*tan(x)*(tan(x)^2 + 1), 0]

52

26

?

Application de Matlab Calcul de l’intégral d’une fonction Introduction

Si f est une expression symbolique, alors int(f)tente de trouver une autre expression symbolique F telle que Interface de Matlab

diff(F)=f , c’est-à-dire que int(f) donne l’intégrale indéfinie de f si elle existe.

Calculs élémentaires Commandes de base Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab Applications de Matlab

>> syms x >> int(x^3+x+1) ans = (x*(x^3 + 2*x + 4))/4 >> int(x^3+x+1,0,1) ans = 7/4 >> int(log(x)) ans = x*(log(x) – 1

>> syms a b w t >> f=a*cos(w*t+b) f= a*cos(b + t*w) >> int(f,t) ans = (a*sin(b + t*w))/w >> int(f,t,0,pi) ans = (a*(sin(b + pi*w) - sin(b)))/w

Exercice La vitesse d’une particule est exprimée par la fonction v(t)=tsin(t/2) 1. Trouver la position de la particule ( ) sachant que la position initiale est (0) = 0 M.SAYYOURI

2. Trouver l’accélération de la particule ( )

53

?

Application de Matlab Introduction Interface de Matlab Calculs élémentaires Commandes de base

Calcul des limites d’une fonction Les commandes syms a x, imit( f(x),x,a) permettent le calcul de la limite de f en a >> syms x >> limit(sin(x)/x,x,0) ans 1

>> syms n x >> limit((1+x/n)^n,n,inf) ans = exp(x)

>> syms x >> limit(log(x)/x,x,inf) ans = 0

>> syms x >> limit(x*log(x),x,0) ans = 0

Variables et fonctions. Matrice et tableaux graphiques 2D Programmation sous Matlab

Calcul des sommes On peut calculer des sommes symboliques quand elles existent en utilisant la commande symsum Exemple Ecrire la commande qui permet de calculer

Applications de Matlab

Ecrire la commande qui permet de calculer >> syms k n >> symsum(1/k^2,1,inf) ans = pi^2/6 M.SAYYOURI

k 0

1 k

2

2

6 x k 0

k

1 1 x

pour |x| < 1

>> syms k x >> symsum(x^k,k,0,inf) ans = piecewise([1

supérieur à

|

ou

= supérieur ou égal à

xor ou exclusif

== égal à ~= différent de Caractère spéciaux = assignation [ ] définition de matrices ou vecteurs; ensère les arguments de sortie des fonctions ( ) gère la priorité des opérations arithmétique ensère les arguments d'entrée des fonctions .

point décimal

.. directory parent ... indique une ligne suite ,

séparateur d'arguments ou d'instructions

;

fin de lignes (matrices) ou suppression de l'affichage

% commentaires :

manipulation de sous matrices ou génèration de vecteurs

! appel au système Variables prédéfinies ans

réponse à une expression sans assignation

eps

précision de la virgule flottante

realmax

plus grand nombre flottant

realmin

plus petit nombre flottant positif

pi

π

i, j

[√(-1)]

inf



NaN

Not a Number

flops

nombre d'opérations flottantes par seconde

nargin

nombre d'arguments d'entrée d'une fonction

nargout

nombre d'arguments de sortie d'une fonction

computer

type du calculateur

Durées et Date date

date courante

clock

horloge

etime

durée d'exécution

tic, toc affiche le début et la fin d'exécution cputime temps CPU écoulé Matrices prédéfinies zeros

matice de 0

ones

matrice de 1

eye

matrice identité

diag

matrice diagonale

toeplitz

matrice de Toeplitz

magic

carré magique

compan

matrice compagnon

linspace

vecteurs linéairement espacés

logspace vecteurs logarithmiquement espacés meshgrid grille pour les graphiques 3D rand

nombres aléatoires à répartition uniforme

randn

nombres aléatoires à répartition normale

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

deux matrices test spéciales

Manipulation de Matrices diag

création ou extraction de la diagonale

rot90

rotation de 90°

fliplr

retournement gauche-droit

flipud

retournement haut-bas

reshape redimensionnement tril

partie triangulaire inférieure

triu

partie triangulaire supérieure

.'

transposition

:

conversion matrice → vecteur

Fonctions logiques exist

teste l'existence d'une variable ou d'une fonction

any

vrai si un élément est vrai

all

vrai si tous les éléments sont vrais

find

cherche l'indice des éléments non nuls

isnan

vrai si l'élément n'est pas un nombre

isinf

vrai pour tout élément infini

finite

vrai pour tout élément fini

isieee

vrai si la représentation est au format IEEE

isempty vrai pour une matrice vide issparse vrai pour une matrice creuse isstr

vrai pour une chaîne de caractères

strcmp comparaison de deux chaînes Instruction de contrôle if

test conditionnel

else

complète if

elseif complète if end

terminaison de if, for et while

for

instruction de répétition avec compteur

while instruction de répétition avec test break interrompt une boucle for ou while return retour error affiche un message et interrompt l'exécution Instructions spécifiques input

indicateur d'attente d'entrée

keyboard considère le clavier comme un fichier script menu

génère un menu de choix pour l'utilisateur

pause

attente

function définition de fonction eval

exécute un chaîne de caractère

feval

exécute une fonction définie dans une chaîne

global

définit les variables comme globales

nargchk valide le nombre d'arguments d'entrée Textes et chaînes string

à propos des chaînes dans MATLAB

abs

convertit une chaîne en valeur numérique

blanks

une chaîne d'espaces

eval

évalue une chaîne contenant du code MATLAB

num2str convertit un nombre en chaîne int2str

convertit un nombre entier en chaîne

str2num convertit une chaîne en nombre isstr

vrai si l'élément est une chaîne

strcmp

comparaison de chaînes

upper

conversion en majuscule

lower

conversion en minuscule

hex2num convertit une chaîne héxadécimale en flottant hex2dec convertit une chaîne héxadécimale en entier dec2hex convertit un entier en une chaîne héxadécimale Mise au point (debug) dbstop met un point d'arrêt dbclear supprime un point d'arrêt dbcont reprend l'exécution dbdown change le contexte local dbstack affiche qui appelle qui dbstatus liste des points d'arrêt dbstep

exécute une ou plusieurs lignes

dbtype affiche un M_files avec lignes numérotées dbup

inverse de dbdown

dbquit

sortie du mode debug

Traitement du son saxis

modification de l'échelle d'amplitude

sound convertit un vecteur en son auread lit un fichier audio au format SUN auwrite écritit un fichier audio au format SUN lin2mu conversion loi linéaire vers loi µ mu2lin conversion loi µ vers loi linéaire Fonctions mathématiques élémentaires abs

valeur absolu ou module

angle argument d'un complexe sqrt

racine carrée

real

partie réelle

imag partie imaginaire conj

complexe conjugué

gcd

PGCD

lcm

PPCM

round arrondi à l'entier le plus proche fix

troncature

floor arrondi vers -∞ ceil

arrondi vers +∞

sign

signe de

rem

reste de la division

exp

exponentiel

log

log népérien

log10 log décimal Fonctions trigonométriques sin, asin, sinh, asinh cos, acos, cosh, acosh tan, atan, tanh, atanh cot, acot, coth, acoth sec, asec, sech, asech 1./cos(z), acos(1./z), 1./cosh(z), acosh(1./z) csc, acsc, csch, acsch 1./sin(z), asin(1./z), 1./sinh(z), asinh(1./z) Fonctions prédéfinies bessel fonction de Bessel

beta

fonction beta

gamma fonction gamma rat

approximation par un rationnel

rats

format de sortie pour rat

erf

fonction erreur erf

erfinv inverse de erf ellipke intégrale elliptique complète ellipj

fonction elliptique de Jacobi

expint fonction intégrale exponentielle pour n=1 log2

logarithme base 2 ou décomposition mantisse, exposant

pow2

calcule 2 puissance y

Décompositions et factorisations de Matrices inv

inversion

lu

décomposition LU

rref

réduction de lignes

chol

factorisation de Cholesky

qr

décomposition QR

nnls

moindres carrés non-négatif

lscov

moindres carrés avec covariance connue

null

noyau

orth

orthogonalisation

eig

valeurs et vecteurs propres

hess

forme de Hessenberg

schur

décomposition de Schur

cdf2rdf forme complexe diagonale vers forme réelle diagonale par blocs rsf2csf forme réelle diagonale par blocs vers forme complexe diagonale balance mise à l'échelle pour le calcul des valeurs propres qz

valeurs propres généralisées

polyeig polynôme aux valeurs propres svd

décomposition en valeurs singulières

pinv

pseudo-inverse

Conditionnement cond

suivant norme L2 ( [(λmax)/( λmin)])

rcond

≅ 1 bon , ≅ 0. mauvais

condest suivant norme L1 norm

normes L1,L2,Lp et L∞

normest estimateur de la norme L2

rank

rang

Fonctions de Matrices expm exponentiation (fonction interne) expm1 M_file correspondant à expm expm2 exponentiation par série de taylor expm3 exponentiation via les valeurs et vecteurs propres logm

logarithme

sqrtm racine carrée funm évaluation (ex: funm(A,'sin') donne sin(A)) poly

polynôme caractéristique

det

déterminant

trace

trace

Polynômes poly

construit un polynôme à partir des racines

roots

calcul des racines

roots1

calcul des racines

polyval

évaluation en un point

polyvalm évaluation en une matrice de points conv

multiplication

deconv

division

residue

décomposition en éléments simples et residus

polyfit

polynôme d'approximation

polyder

différentiation

Analyse de données par colonne max

valeur max

min

valeur min

mean

valeur moyenne

median valeur médiane std

écart type

sort

tri en ordre croissant

sum

somme des éléments

prod

produit des éléments

cumsum vecteur des sommes partielles cumulées cumprod vecteur des produits partiels cumulés hist

histogramme

Traitement de signal corrcoef coefficients decorrélation

cov

matrice de covariance

filter

fitrage monodimensionnel

filter2

filtrage bidimensionnel

cplxpair

tri en paires complexes

unwrap

suppression des sauts de phase

nextpow2 puissance de 2 immédiatement supérieure fft

FFT monodimensionnel (fréquences de 0 à 1)

fft2

FFT bidimensionnel

ifft

FFT inverse

ifft2

FFT inverse

fftshift

FFT (fréquences de -1/2 à 1/2)

Différences finies et Interpolation diff

approximation de la dérivée

gradient approximation du gradient del2

Laplacien sur 5-points

subspace angle entre deux sous-espaces spline

interpolation spline cubique

interp1

interpolation monodimensionnel

interp2

interpolation bidimensionnel

interpft

interpolation 1D par FFT

griddata maillage de données Intégration numérique quad intégrale de Simpson quad8 intégrale de Newton-Cotes trapz méthode des trapèzes Equations non linéaires et Optimisation fmin minimisation d'une fonction d'une variable fmins minimisation d'une fonction de plusieurs variables fsolve résolution d'un système d'équations non-linéaires fzero zéro d'une fonction d'une variable Graphiques 2D plot

graphe linéaire

loglog

graphe en échelle log-log

semilogx graphe en échelle semi-log (abscisse) semilogy graphe en échelle semi-log (ordonnée) fill

graphe de polynômes 2D remplis

polar

graphe en coordonnées polaires

bar

histogramme bâtons

stairs

fonction en marches d'escalier

errorbar graphe avec barres d'erreur hist

histogramme

rose

histogramme en pseudo camembert

compass représentation (module,argument) polaire feather

représentation (module,argument) linéaire

fplot

graphe d'une fonction

Annotation de graphiques title

titre du graphique

xlabel légende abscisse ylabel légende ordonnée zlabel légende cote grid

dessin d'une grille

text

texte

gtext placement de texte avec la souris ginput entrée graphique par la souris Contrôle des fenêtres graphiques figure

ouvre une fenêtre graphique

gcf

retourne le numéro de la figure courante

clf

efface la figure courante

close

ferme la figure courante

hold

gère la surimpression

ishold

état de la surimpression

subplot sous fenêtres graphique axes

axes en position arbitraire

gca

retourne le numéro des axes courants

axis

contrôle l'apparence et l'échelle des axes

caxis

contrôle l'échelle des axes et de la pseudocouleur

whitebg dessine sur fond blanc cinvert video inverse Sauvegarde et copie graphique print

imprime ou sauve dans un fichier

printopt configuration de l'imprimante orient

orientation paysage ou portait

Apparence des graphiques view

spécifie l'angle de vue

viewmtx matrice de transformation hidden

gère les lignes cachées

shading

mode de remplissage

specular reflectance d'une surface diffuse

reflectance d'une surface

surfnorm calcule la surface normale colormap table de correspondances couleurs brighten surbrillance ou sous brillance pour colormap spinmap change colormap de manière cyclique rgbplot

dessine la colormap

hsv2rgb conversion hsv vers rgb rgb2hsv conversion rgb vers hsv Graphiques tridimensionnels mesh

surface maillée

meshc

combinaison mesh + dessin des équi-niveaux

meshz

surface maillée avec plan de référence

surf

surface 3D à facettes

surfc

combinaison surf + dessin des équi-niveaux

surfl

surface 3D à facettes avec éclairage

plot3

dessin de lignes et points en 3D

fill3

graphe de polynômes 3D remplis

contour dessin 2D des équi-niveaux contour3 dessin 3D des équi-niveaux contourc utilisé par contour clabel

étiquettes des équi-niveaux

pcolor

dessine en pseudocouleur

quiver

affichage du gradient sous forme de flèches

image

affiche une image

waterfall représentation chute d'eau slice

visualisation en volume

Objets 3D sphere

génération de sphères

cylinder génération de cylindres peaks

démonstration

Animations moviein initialise l'espace mémoire pour l'animation getframe enregistre une image pour l'animation

movie

joue l'animation

Opérations sur les objets graphiques uicontrol création d'un interface de contrôle utilisateur uimenu

création d'un interface menu utilisateur

set

définit les propriétés d'un objet

get

lit les propriétés d'un objet

reset

réinitialise les propriétés d'un objet

delete

supprime un objet

drawnow force les évènements graphiques en attente

Université Chouaib Doukkali Ecole Nationale Des Sciences Appliquées D’el Jadida

TP N : 1 MATLAB APCI S2 Exercice1 : Calculs 1. Donner le résultat des calculs suivants : 1

52 3 2− 7

;

2𝜋

𝑒 −2ln⁡(3𝜋) ; |1 − √3| ; 3√2 + cos ( 3 ) ;

|1+2𝑖| 3

;

10 0

;

0 0

2. Afficher les résultats sous différents formats Exercice 2 : nombres complexes On note u et v les nombres complexes : u  11  7i et v  1  3i Calculer les modules de u et de v , les produits uv et uv , les angles de u et de v et les parties réelle et imaginaire de u 3  v 2 .

Exercice 3: Vecteurs et Matrices Soient les vecteurs colonnes et la matrice suivants 1   5  1  2 3 4       u1   2  , u2   2  , u3   3 , A   5 1 2  3  1  7  1 7 6  A. Structures Matlab 1. Entrer ces données sous Matlab. u 2. Calculer u1  3u2  3 3 3. Calculer le produit scalaire entre les vecteurs u1 et u2 4. Calculer la norme de u1 et u2 5. Déterminer l'angle formé par les vecteurs u1 et u2 . 6. Calculer le produit Au1 . B. Commandes Matlab Trouver les commandes Matlab permettant de : 1. Calculer u1 ; u2 et u3 1

2



2. Déterminer les dimensions de la matrice A, en extraire le nombre de colonnes ; 3. Calculer le déterminant et l’inverse de A. C. Résolution de systèmes linéaires 1. Proposer deux méthodes permettant de résoudre le problème Ax  u1 , et déterminer les commandes Matlab associées.

Exercice 4 : Matrices On note A, B et C les matrices suivantes 3 2  1  5 3 1   , B  1 2 5  , C  10 5 A 6 1 3 1   10 0 3  1      0 2  1 1. Calculer les matrices CB , BT C et ABT . © Pr : M. SAYYOURI

Université Chouaib Doukkali Ecole Nationale Des Sciences Appliquées D’el Jadida 2. Calculer la matrice D  I 2  BBT . 3. 4. 5. 6.

Calculer les déterminants des matrices C, D et E  AAT . Calculer les inverses des matrices C, D et E  AAT . Calculer les valeurs propres de la matrice E. Quel est le rayon spectral de E ? Déterminer les vecteurs propres de la matrice A.

Exercice 5: Vecteurs et courbes 1. Définir la variable x 



4

et calculer : y1  sin( x) et y2  cos( x) , puis y3  tan( x) à partir

de y1 et y2 .     2. Définir le vecteur x   et calculer y1  sin( x) et y2  cos( x) . Calculer alors  6 4 3  y3  tan( x) en utilisant seulement les vecteurs y1 et y2 précédents.

3. Définir le vecteur x   2 : 0.1: 2  . Combien y a-t-il de valeurs dans ce vecteur ?

Afficher en bleu la courbe du sinus sur x   2 2  . 4. Afficher sur ce même graphe la courbe du cosinus en rouge. Adapter l’épaisseur des courbes, visualiser les points. Insérer un titre et donner une légende aux axes. 5. Enregistrer l’image. Exercice 6 : Vecteurs 1. Créer un vecteur de 11 coordonnées contenant les nombres 5, 4,..., 4,5 2. Créer un vecteur de 1001 coordonnées contenant les nombres 500, 499, 498,..., 499,500. 3. Créer un vecteur u contenant 10 valeurs entre 0 et  séparées par un incrément constant. 4. Créer un vecteur v tel que v2i  cos u2i et v2i 1  sin u2i 1 5. Créer deux vecteurs de dimensions quelconques. Créer un vecteur en insérant le second vecteur entre les 2-ème et 3-ème éléments du premier vecteur et Afficher la longueur de chaque vecteur.

Exercice 7 : Manipulation de matrices 1. Définir la matrice : 1 4 6  A  1 3 0  0 1 8  2. Calculer la matrice B  A1 . Vérifier en effectuant le produit AB. 3. Extraire dans le vecteur X la première ligne de A et dans Y la deuxième colonne de B. 4. Calculer le rang de la matrice C  YX . 5. Définir une matrice R aléatoire à 3 lignes et 7 colonnes. Combien de nombres sont plus grands que 0.5 ? Que 0.8 ? Où sont-ils situés ? 6. Construire alors une matrice P obtenue à partir de la matrice R en remplaçant tous les nombres inférieurs à 0.4 par 0, et tous les nombres supérieurs ou égaux à 0.4 par 1. 7. Calculer alors le nombre d’éléments de la matrice P supérieurs ou égaux à 0.4.

Exercice 8 1. Soit A une matrice carrée. En une ligne, construire une matrice diagonale B ayant la même diagonale que A. 2. Construire une matrice B comportant quatre lignes et trois colonnes remplies par colonnes successives avec les éléments du vecteur 1:12 © Pr : M. SAYYOURI

Université Chouaib Doukkali Ecole Nationale Des Sciences Appliquées D’el Jadida

TP N : 2 MATLAB APCI S2 Exercice1 :

Soit un vecteur y contenant des valeurs comprises entre 6 et 6 avec un pas de 0.001. Soit   deux fonctions h et i définie par : h( x)  sin( ) et i( x)  cos( ) 4x 4x Ecrire un script Matlab représentant h et i en fonction de y sur le même graphe.

Exercice 2: 1. A l’aide d’une boucle for-end, calculer 7! . 2. A l’aide d’une boucle for-end, calculer la somme des carrés des 20 premiers entiers. 3. On considère la suite un définie par :

u0  0  n  , un 1  2un  3 A l’aide d’une boucle for-end, calculer u8 4. On considère la suite un définie par :

u0  0  u1  1 n  , u  u  u n2 n 1 n  A l’aide d’une boucle for-end, calculer u72 .

Exercice 3: 1. Ecrire un script MATLAB qui permet de calculer les éléments de la matrice C, la somme de deux matrices A et B de dimensions 1*3 chacune. 2. Ecrire un script qui permet de lire une matrice saisie par l’utilisateur et l’informe si elle est carrée. 3. Ecrire un programme MATLAB qui permet de retourner la transposée AT d’une matrice A (2*3) saisie par l’utilisateur. En calculant ses éléments.

Exercice 4 1. Ecrire un M-file pour la fonction f ( x) 

x5  3

x2  1 2. Tester la fonction sur quelques valeurs, par exemple f (1) et f (0) . 3. Créer un tableau x d'abscisses de -5 à 5 par pas de 0.1 4. Représenter la fonction f aux points xi , avec la commande plot(x,y)

Exercice 5 : Soient la matrice et les vecteurs colonnes suivants : 5 / 8 1/ 4 1/ 8  1  5      A  1/ 4 0 1/ 4  , b   1 u1   2  1   4  1/ 8 1/ 4 5 / 8 On définit, pour n  1 , la suite de vecteurs un1  Aun  b © Pr : M. SAYYOURI

Université Chouaib Doukkali Ecole Nationale Des Sciences Appliquées D’el Jadida 1. Construire une fonction suite.m calculant les premiers termes de la suite un . Cette fonction aura comme arguments d’entrée les données suivantes : la matrice A, le second membre b, le terme initial u1 , et le nombre de termes voulus nbit . 2. Représenter graphiquement l’évolution de chacune des composantes. Qu’observe-t-on ? 3. Soient 5 6 3  2   Ab  1 5 1 , u1b  1  1 2 0  0  Observe-t-on le même comportement si on remplace u1 par u1b ? Que se passe-t-il si on remplace A par Ab (quel que soit le terme initial) ?

Exercice 6 Ecrire un M-file pour la fonction g définie sur [2, 5] par 0 x  1    15( x 13/4) 1  x  1/ 2 1 e g ( x)  1 1/ 2  x  3  3 x  4 2 e 15( x 7/2) x4  0 2. Tester la fonction sur quelques valeurs, par exemple f (1) et f (3) . 3. Créer un tableau x d'abscisses de -2 à 5 par pas de 0.01 4. Représenter la fonction f aux points xi , avec la commande plot(x, f(x))

Exercice 7 : On rappelle deux approximations de la dérivée d'une fonction par différences finies f ( x  h)  f ( x ) f ( x  h)  f ( x  h) , f ' ( x)  f ' ( x)  h 2h 1. Définir dans un M-file la variable h = 0.1 et un tableau d'abscisses x pour discrétiser finement l'intervalle [0,  ]. 2. Calculer dans un tableau d la dérivée exacte de la fonction sin aux points x et dans un tableau d1 les valeurs approchées par la première formule ci-dessus. Calculer l'erreur maximale commise en faisant cette approximation sur l'intervalle [0,  ]. . Diminuer h, que remarque-t-on ? 3. Mêmes questions avec la deuxième approximation. Les valeurs approchées seront calculées dans un vecteur d 2 4. Représenter sur le même graphique la dérivée et ses deux approximations plot(x,d,x,d1,x,d2) Que remarque-t-on, quelle est la meilleure approximation ?

Exercice 8 : Tracer le graphe des fonctions suivantes :  f ( x)  x 2 sin(nx) sur x  f ( x)  e sin(nx) sur sin(nx)  f ( x)  sin c( x)  sur x © Pr : M. SAYYOURI

[-4  4  ] pour n=1,2,3,4,5 [-4  4  ] pour n=1,2,3,4,5 [-4  4  ] pour n=1,2,3,4,5

Université Chouaib Doukkali Ecole Nationale Des Sciences Appliquées D’el Jadida

TP N : 3 MATLAB APCI S2 Exercice1: Calcul polynomial 1) Déterminer les racines de : a. x2  4 x  4  0 b. x2  3x  8  0 c. x5  2 x4  2 x3  4 x2  3x  5  0 d. (1  i) x 2  (2  5i) x  3.5  0 2) Déterminer les coefficients de polynôme Q si les racines de Q sont : [2 2 3 -5 ] 3) Déterminer :  x 2  2 x  3 x3  4 x 2  x   x  5  ? 4) Soit f ( x)  2 x2  7 x  10 , calculer f  6 

Exercice 2: Calcul polynomial

1. Écrire le polynôme : P  x   x3  8x 2  32 x  13 2. Calculer de P  2  et P   . 3. Calculer les racines du polynôme P . 4. On pose : Q  x   4 x 2  3 5.

Calculer P  x  Q  x  et P  x   Q  x  .

6.

Calculer P  x  / Q  x  .

7. Calculer la dérivée de P  x  et Q  x  8. Calculer la primitive de P  x  et Q  x  9. Calculer



5

0

P( x)dx et



2

2

Q( x)dx

10. Obtenir le graphe de P  x  sur l’intervalle [-5, 12] avec un pas de 0,01. x = -5 : 0.01 : 12 plot(x, polyval(p,x)

Exercice 3: Arithmétique 1) Calculer : a. Le reste de la division de 20 sur 33 en utilisant la commande rem b. La décomposition en facteurs premiers de 60 en utilisant la commande factor c. Le pgcd et le ppcm de (325, 243) et (5, 60) en utilisant les commandes lcm et gcd 2) Afficher les nombres premiers inférieur à 100 en utilisant la commande isprime 3) Est-ce que 751 est premier ? utiliser la commande primes Exercice 4 Résolution des systèmes linéaires Résoudre matriciellement les systèmes suivants. Si Matlab affiche un message d’erreur, dire pourquoi. 6 x  y  5 z  10 6 x  y  5 z  10   a. 2 x  2 y  3z  11 b. 2 x  2 y  3z  2 4 x  9 y  7 z  12 4 x  9 y  7 z  12  

© Pr : M. SAYYOURI

Université Chouaib Doukkali Ecole Nationale Des Sciences Appliquées D’el Jadida

Exercice 5 : Résolution d’un circuit électrique Soit le circuit de la figure 1. On souhaite calculer les valeurs efficaces et phases des courants lorsque : Ug = 220 [V] ; fg = 50 [Hz] ; R1 = 10[  ] ; R2 = 3 [  ] ; C = 10 [μF] ; L = 100 [mH] :

Figure1 : Circuit électrique A. Description du circuit : Pour résoudre ce circuit, il faut bien entendu commencer par écrire les équations qui le décrivent. Considérant les courants I1, I2, I3 circulant dans les 3 branches du circuit, celui-ci est complètement décrit par les équations suivantes : 1  u g  R1 I1  jwC I 2  1  I 2  ( R2  jwL1 ) 0   jwC  0  I1  I 2  I 3   Equations que l’on peut écrire sous forme matricielle : 1   0  R1  jwC    I1   u g  1       0  jwC R2  jwL   I 2    0     I 3   0  1 1 1      La solution s'obtient en multipliant à gauche les deux membres de l'équation par l'inverse de la matrice décrivant le circuit : ,

  R1  I1       I2    0 I    3  1  

1 jwC 1  jwC 1

 0    R2  jwL   1   

B. Calcul avec Matlab Ecrire un script Matlab (circuit.m) pour calculer les courants. © Pr : M. SAYYOURI

1

 ug    0 0  

Université Chouaib Doukkali Ecole Nationale Des Sciences Appliquées D’el Jadida

Exercice 6: Calcul symbolique 1. En utilisant la boîte à outils de Calcul symbolique, simplifier les expressions suivantes :

12  3     , cos( x) cos( y)  sin( x)sin( y) , cos2 ( x  )  sin 2 ( x  )  cos 2 ( y  )  s in2 ( y  ) 4 4 4 4 12  3 2. Factoriser les expressions suivantes a

x3  1 ,

x( x  1)( x  2)( x  3)  1 , x 4  1

N.B : simplify, factor, collect, expand effectuent également les transformations et simplifications de ces expressions, simple appelant une à une toutes ces fonctions et retenant finalement le résultat le plus simple. 3. Calculer les limites suivantes 1 𝑛

lim (1 + )

𝑛→∞

;

𝑛

lim ln⁡(

𝑥+1

𝑥→0

𝑥

)

lim

;

1

𝑛→0+ x

Exercice 7: Calcul de la dérivée et de l’intégral 1. Calculer les dérivées suivantes :

d  3x 2  4 x    , dx  2 

d arctan(5 x 4  8 x)  et dx

d d  ln( x3  3x 2 y  8 y 2    dy  dx 

2. Calculer les intégrales suivantes :

cos( x)

 sin( x)  3x

2

 2 dx ,



16

4

x 2  cos( x) dx ,



b

a

2

xye x y dx ,

d

b

c

a

 

2

xye x y dxdy

3. Résoudre l’équation suivante par rapport à Xa1 0.21 1  0.75 X k2 a1   dX a1 avec  3.23 0 k2 k 1 1  (1  ) X a1 k1

Exercice 8: On donne les points A (3, 6) ; B (5, 6) ; C (7 , 2) ; D (1 , 2)Dessiner dans un repère orthonormé le quadrilatère ABCD et ses diagonales [AC]et [BD].

Exercice 9: En utilisant la commande solve, résoudre les équations et les systèmes des équations suivants : 1. 2 x3  13x2  10 x  21  0 2. 2(ln x)3  13(ln x)2  10ln x  21  0 x y  2e  e  15 3.  x y  e  2e  40

4. mx  m 1 avec m  © Pr : M. SAYYOURI