0% ont trouvé ce document utile (0 vote)
50 vues10 pages

Introduction

Transféré par

souleymanediene13579
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
50 vues10 pages

Introduction

Transféré par

souleymanediene13579
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

INTRODUCTION

Matlab signifie matrix laboratory

C'est un outil de calcul scientifique. C’est un langage de programmation interprété et qui


comporte de nombreux /// algèbres linéaires.

Un intérêt considérable a matlab est d'autoriser à manipuler avec la même souplesse les
scalaires les vecteurs ou les matrices.

Matlab permet aussi de visualiser les résultats des calculs que nous allons développer. Ce
cours est consacré à une initiation à matlab. L’objectif est de vous amener à effectuer la
résolution d'équations plus complexes en génies des procèdes telles que des systèmes EDO
des EDP etc.

Il s’agira de développer du code en langage de programmation matlab et de visualiser les


résultats pour ensuite les commenter.

1. Le scalaire
La syntaxe est la même pour définir un scalaire un vecteur ou une matrice. On peut
écrire un scalaire entre crochets et taper sur la touche entrée pour exécuter la
commande. >> a=[1]
Dans le cas de scalaire on n’est pas obligés de mettre les scalaires. >> b=1
Remarque : si on tape un ; en fin d’instruction le résultat ne s’affiche pas à l’écran. >>
c=2; mais le scalaire C existe bien il suffit de taper la commande >>who. Cette
commande nous permet de connaitre les variables en mémoire.
Pour effacer une variable il suffit de taper la commande >>clear suivie du nom de
l’élément a effacer. >> clear a.
*Si on veut avoir une page vierge, on utilise la commande >>clc
* Pour effacer toutes les variables, on utilise la commande >>clear all
2. Vecteur

Suivant la syntaxe on peut définir un vecteur ligne sous la forme >>A=[2 3 4]

Suivant la syntaxe on peut définir un vecteur ligne sous la forme >> B=[2;3;4]

3. Matrices

Saisir la matrice M suivante : >> M=[1 2 3; 4 5 6; 7 8 9]


 Pour extraire un élément scalaire d’une matrice, il suffit de préciser le numéro de ligne
et de colonne de l’élément à extraire. Si on veut extraire l’élément qui se trouve sur la
deuxième ligne et la troisième colonne de la matrice M on met >> M(2,3).
 On peut aussi extraire une partie d’une matrice on peut procéder ainsi
- Pour extraire uniquement la première colonne de M on et >> M(:,1)
- Pour extraire la première et la deuxième colonne à la fois >> M(:,[1,2])
- Pour extraire uniquement la première ligne de M >> M3=M(1,:) ( on a appelé M3 la
matrice obtenue)
- Pour extraire la première ligne et la 3eme >>M4=M([1,3],:)

Remarque : Les deux points signifient que tous les éléments sur la ligne ou sur la colonne
sont considérés

3.1 Matrices spéciales

Certaines matrices se construisent facilement grâce à des commandes dédiées. Citons les
plus utilisées :

>> I=eye(n) : Matrice identité dans R

>> ones(m,n) : Dont tous les éléments valent 1

>>Z=zeroes(2,4) : Dont tous les éléments valent 0

>> R=rand(5,4) : Matrices de m lignes et n colonnes dont les éléments sont générés de
façon aléatoires entre 0 et 1

3.2 Calculs matriciels

On affiche la matrice N tel que >> N=[1 2 3; 2 1 4; 3 4 1].

On calcule H=2N : >> H=2*N

Ensuite >> P=exp(N)

Après >> T=M/N

Enfin >> V=M+N

3.3 Extraction d’éléments d’une matrice

Pour l’extraction d’éléments de matrices on peut considérer les cas suivants :


>> diag(N) : extrait la diagonale principale de N

>> diag(N,1) : extrait la diagonale supérieure de N

>>diag(N,-1) : extrait la diagonale inférieure de N

>> triu(N) : extrait le triangle supérieur de N

>> tril(N) : extrait le triangle inférieur de N

3.4 Quelques fonctions utiles aux calculs matriciels


 Déterminant d’une matrice : >> det(N)
 Trace d’une matrice : >> trace(N)
 Transposé d’une matrice : >> N'
 Inverse d’une matrice : >> inv(N)

3.5 Systèmes d’équations linéaires

Un système linéaire s’écrit généralement sous la forme AX=B

Avec matlab cela revient à effectuer l’opération X=A\B (\ altgr+8)

Exemple : résoudre le système linéaire suivant

x+3y+4z=50

7x+2y+z=23

3x+5y-4z=2

4. Fonctions mathématiques

Il existe un grand nombre de fonctions prédéfinies sur matlab par exemple la fonction
sinus.

Pour calculer sinus de x pour différentes valeurs de x, on définit d’abord la valeur de x


puis on calcule sinus de x pour chaque valeur de x spécifiée.

Exemple : Calculer y=sin(x) sur l’intervalle [0 ;2π] avec 1 pas de π/100

>> x=[0:pi/100:2*pi];

>> y=sin(x)

On peut aussi visualiser sous forme de courbe ce résultat en utilisant la commande plot :
>> plot(x,y)

Pour cette dernière on y reviendra de façon plus détaillée dans la partie graphisme.

4.3 Quelques fonctions…

Sum : somme des éléments

Rank : rang d’une matrice

Prod : produit des éléments

Std : écart type

5. Graphismes

Matlab permet de visualiser des graphiques en 2D et 3D de haute qualité. La commande la


plus basique pour représenter un vecteur d’ordonnée y en fonction de x avec une échelle
linéaire à pour symbole plot(x,y)

Exemple :

Tracer sur l’intervalle [-2 ;2] avec un pas de 0,2 y=xsin(x)

Remarque : Lorsqu’on fait la multiplication ou la division entre des vecteurs, l’opérateur


doit toujours être précédé d’un point.

Les syntaxes de la fonction plot sont les suivantes :

Plot(x,y) : trace y en fonction de x

Plot(x1,y2,x2,y2,x3,y3) : trace y1 ,y2 et y3 en fonction de x1,x2 et x3 respectivement sur


le même graphe.

X1,x2 et x3 n’ont pas forcément la même dimension.

Exemple :

Tracer sur l’intervalle [-5 ;5] y=xsin(x) et z=xcos(x) sur le meme graphe.

5.1 Format et animation graphique

Matlab attribue par défaut des couleurs différentes lorsqu’on trace plusieurs courbes. Il est
possible cependant de changer la couleur d’une courbe, le style de trait et le symbole des
points. Ainsi on doit donner à la commande plot un troisième paramètre qui est une chaine
de 3 caractères de la forme ‘cst’ :

C comme couleur

S comme symbole des points

T , le style de trait.

La syntaxe est la suivante plot(x,y,’cst’)

Les choix possibles pour spécifier la couleur d’une courbe, le symbole des points et le
style des traits est donné par le tableau.

Exemple :

Tracer les fonctions sinx et cosx sur l’intervalle [0;2pi] avec 1 pas de pi/100. La courbe
y=sinx sera tracée en traits pointillés court vert dont le symbole des points est le carré et
l’autre z=cosx en trait plein noir dont le symbole des points est un +.

On peut aussi choisir le format du graphique.

- xlabel(‘variable x’) renseigne la variable x sur l’axe des abscisses


- ylabel('variable y') renseigne la variable y sur l’axe des ordonnées
- legend(‘…..’)
- title(‘…..’)

- grid : c’est pour ajouter un quadrillage au graphique

- hold : permet de tracer plusieurs courbes sur le même graphe. En effet à chaque
commande plot matlab efface automatiquement le graphique déjà tracé.

- Hold on : permet de superposer les courbes sur un même graphe déjà existant. Cette
commande est annulée par hold off.

- clf : efface la courbe

- bar(x,y) : trace y en fonction de x sous forme de barres

- plotyy(x1,y1,x2,y2) : cette commande crée un graphe avec deux axes des y d’échelles
différentes
- semilogx(x,y) : trace y en fonction de x avec une échelle log(x)
- subplot :divise une figure en plusieurs sous graphiques
- hist :cette commande permet de représenter une distribution y en fonction de x sous
forme d’histogramme.

Application1 :

Y :Trait plein cont rouge

Z : Trait plein cont vert

Application 2 :

En utilisant plotyy representer z1 en fonction du temps avec une échelle linéaire et z2 avec
une échelle logarithmique

APP 3

Commande subplot : Le but est de représenter sur une même fenêtre graphique plusieurs
courbes juxtaposées.

Pour cela la fenêtre graphique est découpée en plusieurs cadres de même dimension qui
contiennent chacun un graphe. On utilise alors une commande du type subplot(nombre de
cadres sur hauteur, nombre de cadres sur largeur, numéro du cadre actif)

Exemple :

subplot(2,2,1) : découpe la fenêtre graphique en deux sur la largeur, en deux sur la hauteur
et le cadre actif est le numéro 1.

Les cadres sont numérotés comme suit :

1 2
3 4

Exemple :

Subplot(2,2,1)

X en foncton de sin(x)

5.2 Graphisme en 3D

Les fonctions les plus courantes sont :

plot3(x,y,z) : représente z(x,y) avec x,y de même dimension


meshgrid :génére un mailllage de points (X,Y) à partir des vecteurs x,y pour le calcul.

Mesh(x,y,z) : représentation 3D de z

APP1 :

Fonction plot3

t=[0 :0.05 :25]

6. Initiation à la progammation matlab

il est possible d’enregistrer une séquence d’instructions dans un fichier appelé [Link] et de
les exécuter par matlab, Un tel fichier va toujours avoir une extension de la forme .m

exemple :

Carti.m

Il est possible de mettre aussi des commentaires sur le fichier mais ces derniers devront
etre précédé du symbole %.

Il est aussi preferable de mettre un ; à la fin de chaque ligne de commande pour eviter un
affichage inutile.

6.1 Instructions de contrôle : boucle et condition

Quelque soit le language de programmation matlab on retrouve des instructions


incontournables.

6.1.1 Instruction if-else-end

La syntaxe est la suivante :

If( condition logique)

Instruction ;

Elseif (condition logique)

Instruction ;

Else (condition logique)

Instruction ;
End;

Les expressions relationnelles que l’on peut utiliser sont les suivantes :

Symboles Signification
< Inf
> Sup
<= Inf ou égal
>= Sup ou égal
== égal
esperluette Operateur logique et
| Ou (barre verticale)

Ecrire un programme matlab qui permet de calculer les racines d’un polynome de degré 2.

Création du fichier [Link] avec les instructions. Enregister sous racine.m.

Puis je vais sur matlab pour exécuter le programme.

6.1.2 Instructions for-end

La syntaxe est la suivante

For variable=valeur de début :pas :valeur de fin

Instruction

End ;

Application

Ecrire un programme permettant de résoudre l’intégrale I de a à b de sini

Projet( faire un programme pour simpson)


Résolution de polynomes
Matlab représente un polynôme sous forme de tableau de ses coefficients placés dans l’ordre
des puissances décroissantes. Le polynôme P(x)=X2-6X+9 est représenté par le vecteur

P=[1,-6,9].

Pour déterminer les racines d’un polynôme on utilise la fonction roots.

Pour évaluer un Polynôme en un point on utilise la fonction polyval.

Exemple : Calculer les racines de P et évaluer P au point x=1

On peut aussi déterminer les coefficients d’un polynôme à partir de ses racines en utilisant la
fonction poly.

EXEMPLE : on cherche un polynôme dont les racines sont (1,2,3)

Connaissant les coefficients P d’un polynôme il est possible de calculer ce polynôme pour un
vecteur x.

Exercice :

Chercher les racines des polynomes suivants :

P(x)=X2-5X+4

Q(x)=5x4+x2-8

Representer le polynome P(x) x allant de -10 à 10 avec 1 pas de 1

Tracer la courbe en traits pointillés noir dont le symbole des points est un carré.

Créer un polynome ayant pour racine 1,3,8 et le représenter sur x appartenant à l’intervalle
0 :10

Pas de 1

7. Intégration numérique avec matlab


La fonction quad permet d’évaluer numériquement l’intégrale d’une fonction. Cette
dernière utilise la méthode simpson pour le calcul avec une précision de 10-6.

Soit à calculer l’intégrale I=de a vers b de f(x)


Syntaxe : I=quad(expression de f’,a,b)

Calculer de 0 à pi integrale de sin(x)

On peut aussi définir au préalable la fonction f en utilisant inline.

Exo :

Calculer les intégrales suivantes :

K=quad('exp(x).*sin(x)',0,pi/2)

T=quad('exp(x)./((3+exp(x)).*sqrt(exp(x)-1))',1,30)

8. Résolution
Ensuite il faut ecrire une fonction sous la forme d’un fichier mfile.

9.3 Résolution des EDO d’ordre n


Dans le cas ou on a une dérivée >1 il faut procéder à un changement de variable.

Exemple :

Voir cahier

dy
On pose x1=y et x2= donc on a
dt

dx2
=−3 x 2−2 x 1+ 4 exp (−2 t )−5
dt

dx1
=x 2
dt

Vous aimerez peut-être aussi