0% ont trouvé ce document utile (0 vote)
46 vues15 pages

Methode Num - Chap1E

Transféré par

lumieredumonde765
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
46 vues15 pages

Methode Num - Chap1E

Transféré par

lumieredumonde765
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 PDF, TXT ou lisez en ligne sur Scribd

Table des matières

UNIVERSITÉ D’EBOLOWA
ENSET

COURS DE MASTER RECHERCHE

Méthodes numériques

1
Chapitre 1 : Initiations à Matlab (Premier pas)

CHAPITRE 1 : INITIATIONS A MATLAB (PREMIER PAS)

1- Intoduction
MATLAB est un logiciel, un outil et en même temps un langage. C’est un logiciel
interactif permettant d’effectuer des calculs numériques complexes particulièrement
utiles dans le domaine de l’ingénierie. Disponible sur de gros systèmes, il fut adapté
pour l’ordinateur personnel muni d’un coprocesseur mathématique permettant une
grande capacité de calcul. Le nom MATLAB vient de l'anglais MATrix
LABoratory. Une traduction littérale amène à voir MATLAB comme un laboratoire
pour manipuler des matrices. Ce point, qui est un élément fondamental du langage
MATLAB, la plupart des fonctions définies dans MATLAB le sont pour des
grandeurs matricielles, et par extension, pour des données tabulées. MATLAB
contient plusieurs fonctions, de calcul ou de traitements de données, d'affichage, de
tracés de courbes, de résolution de systèmes et d'algorithmes de calculs numériques.
Les domaines d'application sont très variés comme le calcul numérique dans le corps
des réels ou des complexes ; le calcul de probabilités ou les statistiques ;
le calcul intégral ou la dérivation ; le traitement du signal ; l'optimisation ; le
traitement d'image ; l'automatisme….
MATLAB permet de travailler soit interactivement en passant des commandes
directement au clavier (comme une calculatrice) ; soit de réaliser des programmes
(appelés scripts) ou de définir des fonctions.
2- Prise en main
On clique sur l’icone Matlab pour le démarrer, la fenêtre de commandes
(command window) apparait (figure 1).

2
Chapitre 1 : Initiations à Matlab (Premier pas)

Espace de travail

Fenêtre de
commande

Exercice 1.
faites un
petit tour
selon la
figure 1.

Fenêtre d’historique
de commandes

Figure 1.1. Interface de Matlab


intro lance une introduction à 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 à outils disponibles
on tape « quit » ou « exit » pour quitter Matlab, il est préférable d’éviter de quitter
directement par le boutton .
Une aide est intégrée pour chercher les noms des fonctions et programmes pré-
existants dans Matlab.
helpwin ouvre une fenêtre contenant la liste des commandes Matlab ainsi que leurs
documentations
help donne la liste de toutes les commandes par thèmes
help nom décrit la fonction nom.m
lookfor nom recherche une instruction à partir du mot clé nom

3
Chapitre 1 : Initiations à Matlab (Premier pas)

3- Operations générales
Pour la gestion des fichiers on peut utiliser :
pwd affiche le nom du répertoire courant pour Matlab
cd rep change le répertoire courant pour Matlab qui devient rep
dir fournit le catalogue d’un répertoire
delete efface des fichiers ou des objets graphiques

Les différentes opérations arithmétiques telles que l’addition, la soustraction, la


multiplication et la division peuvent être faites par Matlab. MATLAB différencie
les lettres en minuscule
Exemples :
et en majuscule. De ce
>> 3+3 fait, vous pouvez créer
des variables de même
ans=6 % ans pour answer nom, en minuscule et
Pour conserver le résultat, il faut l’assigner dans un objet : en majuscule, mais en
leur affectant des
>> a= 3+3 valeurs différentes.

Pour ne pas afficher le résultat, on met ; à la fin de la commande :


>> a=3+3 ;
>> 4\1 % «\ » division à gauche le résultat est 0.2500
>> 0/2 % le résultat est 0 >> 2/0 % Inf >> 0/0 %NaN
pi 3.1415...
eps 2.2204e-016
Inf nombre infini
NaN n’est pas un nombre ; exprime parfois une indétermination

4- Variables d’environnement
Matlab garde en mémoire les variables qui ont été créées. Autrement, on peut les
afficher et les supprimer:
who donne la liste des variables présentes dans l’espace de travail
whos donne la liste des variables présentes dans l’espace de travail ainsi que leurs
propriétés
what donne la liste des fichiers .m et .mat présents dans le répertoire courant
clear var1 . . . varn éfface les variables var1, . . . varn de l’espace de travail
clear éfface toutes les variables créées dans l’espace de travail

4
Chapitre 1 : Initiations à Matlab (Premier pas)

5- Format
Matlab affiche les résultats sous forme décimale par défaut. Ce format peut être
changé à tout moment avec la commande format
format short décimal à 5 chiffres
Exemple : format long
format long décimal à 16 chiffres pi
ans = 3.141592653589793
format bank virgule fixe à 2 décimales Essayer avec d’autres commandes sur le
tableau
format rat fractionnaire

6- Les fonctions mathématiques


Matlab permet d’utiliser simplement toutes les fonctions mathématiques usuelles (et
moins usuelles) comme : sin, cos, exp, log, cosh, sinh, img, real…etc.
>>cos( pi/4) >> log(2) >> exp(pi) >> sqrt(49)
>> gcd(8,12) %Le plus grand diviseur commun
>> lcm(4,6) %le plus petit multiple commun
Utiliser la commande « help » pour connaître le rôle et comment utiliser une fonction.
>> help log
7- Variables complexe
Les variables complexes peuvent être manipulées par Matlab simplement :

i imaginaire pur

j imaginaire pur

conj(X) conjugué du nombre complexe X


real(X) partie réelle
imag(X) partie imaginaire
abs(X) Module

angle(X) argument (en radians)

1 s'écrit indifféremment i ou j
>> z=5+2*i >> z1=2+sqrt (-1)*4
Utiliser les fonctions spécifiques existantes sur le tableau.

5
Chapitre 1 : Initiations à Matlab (Premier pas)

Exercice N°1

1. Traduire les expressions mathématiques suivantes en instructions MATLAB


en assignant les valeurs: a=2, b=5, c=3
a  c 4 9
b 3

2
x 1   b ²    , x 2  e c
6  7, 5 
2a  3
5

x 3 
4a²  ln(7a)

2. Effectuer les commandes suivantes dans Matlab :


>> whos
>> a
>> clear x1
>> x1
>> clear
>> whos
>>clc
3. Quel sera le résultat dans Matlab de 5/6 et 5\6 ?

6
Chapitre 1 : Initiations à Matlab (Premier pas)

8- Vecteurs et matrices sous MatLab


Comme son nom le montre Matlab est spécialement élaboré pour manipuler des
matrices. Matlab reconnait et manipule les variables matricielles suivantes (pour plus
de détails, utiliser le help). Rappelons qu'une matrice est un objet mathématique
représentant des données numériques sous forme d'un tableau. Une matrice est donc
un tableau de données ayant un sens mathématique spécifique. À l'inverse, un tableau
correspondant à tout ensemble de données tabulées. Dans la liste, les éléments sont
séparés par des blancs ou des virgules, et des point virgules (;) sont utilisés pour
indiquer la fin de ligne. La liste est encadrée par des crochets [ ].
8.1- Les vecteurs :
n:m nombres de n à m par pas de 1
n:p:m nombres de n à m par pas de p
linspace(n,m,p) p nombres de n à m
length(x) longueur de x
reshape(x,u,v) crée une matrice de taille [u,v], à partir de x
transpose(x) ou x’ transposer un vecteur x
x(i) i-ème coordonnée de x
x(i1:i2) coordonnées i1 à i2 de x
x(i1:i2)=[] supprimer les coordonnées i1 à i2 de x
[x,y] concaténer les vecteurs x et y

>> v1 = [ 1 3 0 -1 5 ] %vecteur 1*5


>> v2 = [ 2, 4, 8, -3, 7, -2, 1] %vecteur ligne
>> v4 = [ 2 ;4 ;8 ;-3 ;7 ;-2 ;1] %vecteur colonne 7*1
>> w = [1 2 3]; >> y = [4 5];
>> z = [w -y] %Création de vecteurs à partir d’autres vecteurs
>> w = [w 0 -1] %affectation
>> v = 1 : 5 % incrément 1 par défaut=>v= [1,2,3,4,5]
>> v = 1 : 0.5 : 4 % le pas est 0.5
>> v = 10 : -1 : 1 % incrément -1 de façon décroissante
>> x=linspace(13,40 ,4) % un vecteur de 4 éléments de 13 à 40=>x=[13 22 31 40]
» x = 1 permet
linspace : 5 de créer le même type » xde x’ %que
= liste Lal'opérateur
transposé en offrant la possibilité du
contrôle direct du nombre de valeurs.
» y = [ 1 4 8 0 -1 ]’ » r = [ 2 8 -5 6 -1 0 3]
Le pas= (fin-début) / (nombre éléments-1)

7
Chapitre 1 : Initiations à Matlab (Premier pas)
>>A = [1 2 3 4 5];
8.1.1 Fonctions vectorielles >>B = cumsum(A)% l’élément B(2) est la somme
de A(1) et A(2), alors que B(5) est la somme de A(1) à A(5).
max(x) maximum >>B = 1 3 6 10 15
>>B = cumprod(A)% l’élément B(2) est le produit
min(x) minimum de A(1) et A(2), alors que B(5) est le produit de A(1) à A(5).
sort(x) tri par ordre croissant >>B = 1 2 6 24 120

diff(x) vecteur des différences entre deux éléments consécutifs de x


mean(x) moyenne des éléments de x
find(x) identifier les indices des éléments non nuls de x
sum(x) somme des éléments de x
cumsum(x) vecteur contenant la somme cumulée des éléments de x
prod(x) produit des éléments de x
cumprod(x) vecteur contenant le produit cumulé des éléments de x
>> V = [ 2 8 -5 6 -1 0 3]
>> V (3) % afficher le 3eme élément du vecteur V
>> V ([ 2 5 1 ]) = [ ] %éliminer des éléments d’indices 2,5 et 1 du vecteur V
>> find(V) % repérer les indices des élément non nul par la commande « find »
>> find(V>4) >> find (V<1)
>>X = [1 1 2 3 5 8 13 21]; Y = diff(X) => Y= 0 1 1 2 3 5 8
>> x = [3 4 12 9] ; » y = [2 3 0 -5] ;
>> c=x.*y % Produit élément par élément : « .* »
>> d=x./y ; % division élément par élément : « ./ »
>> d=x.^2 ; % puissance élément par élément « .^ »
8.3 - Les matrices :
size(A) nombre de lignes et de colonnes de A
diag(A) coefficient diagonaux de A
A(:) indexation linéaire de A, (concaténation des vecteurs colonnes de A)
A(i,j) élément ligne i et colonne j de A
A(p,:) accéder à la p ième ligne
A(i1:i2,:) =[] supprimer les lignes i1 à i2 de A
A(:,n) accéder à la n ième colonnes
A(:,j1:j2)=[] supprimer les colonnes j1 à j2 de A
A(i) coefficient d’ordre i dans l’indexation linéaire

8
Chapitre 1 : Initiations à Matlab (Premier pas)

On peut créer des matrices à partir d’autres matrices.


>> v = [7 6; 2 3]; >> w = [1 4]; >> v = [v; w]
Il faut faire attention à la taille des matrices afin de créer une matrice à partir d’autre
matrice.
Pour repérer les différents éléments de la matrice on donne la position en lignes et la
position en colonnes.
» V = [5 10 30; 35 40 53; 5 7 12];
» V(3,3)
» V(1,3)=-11 %remplacer l’élément a21 par -11
» V(2) % l’élément v21 » V(5) %l’élément v22
» V(3,[1 2 3]) et » V(3,[Link]) et » V(3,:) %toutes ces commandes donnent la
troisième ligne
» V(3,[Link]) %ligne 3 et les colonnes 1 et 3
» M = [10 11 12 13 ; -5 6 0 7 ; 3 9 4 2]
» N = M(1:2,1:2) % Extraction des sous-matrices à partir d’une matrice
» O = M(1:3,2:3) » P = M(:,1:3) » P = M(:,3:-1 :1)

8.2.1 Matrices particulières


zeros(m,n) matrice nulle de taille m,n
ones(m,n) matrice de taille m,n dont tous les coéfficients valent 1
eye(n) matrice identité de taille n
diag(x) matrice diagonale dont la diagonale est le vecteur x
rand(m,n) crée une matrice m x n dont les éléments sont uniformément distribués
entre 0 et 1

8.2.2 Les opérations matricielles


A’ transposée de A
rank(A) rang de A
inv(A) inverse de A
expm(A) exponentielle de A
det(A) déterminant de A
trace(A) trace de A
poly(A) polynôme caractéristique de A

9
Chapitre 1 : Initiations à Matlab (Premier pas)

eig(A) valeurs propres de A


+- addition, soustraction
*^ multiplication, puissance (matricielles)
.* , .^ multiplication, puissance terme à terme
A\b solution de Ax = b
b/A solution de xA = b
./ division terme à terme

8.4 Les opérateurs de comparaison et logiques :


En Matlab la constante logique "FAUX" est représentée par 0 et la constante "VRAIE
par 1.
» M= [1 -4 ; -3 3] » M<0
» ans =
0 1
1 0
Les opérateurs de comparaison:
Les opérateurs logiques:
== : égal à (x == y) & : et (x & y)
| : ou (x | y)
> : strictement plus grand que (x > y)
~ : non (~ x)
< : strictement plus petit que (x < y)

>= : plus grand ou égal à (x >= y)

<= : plus petit ou égal à (x <= y)

~ = : différent de (x ~ = y)

Exemples :
» b= [1 2 3 4 -2 5 6 -4]
» b (b==2) = 10
b= 1 10 3 4 -2 5 6 -4
» b (b >= 1) = 2
b= 2 2 2 2 -2 2 2 -4
» x= ~ (1>3 | 0~=0) % négation (1>3 ou 0 différent de 0)
x=
1 % le résultat est vrai

10
Chapitre 1 : Initiations à Matlab (Premier pas)

8.5 Utilisation des symboles et quelques operations sur les fonctions

>>sym(1/2)+sym(3/4) %résultat sous forme symbolic


ans =5/4

>> vpa('pi',50) %la précision est de 50


ans =3.1415926535897932384626433832795028841971693993751

>> vpa('pi',5) %la précision est de 50


ans =3.14159

>> f='5*x^4+7*x^2-3' % définition d’une fonction


ans f =5*x^4+7*x^2-3
>> subs(f,x,1) % valeur d’une fonction en un point
ans =9

syms x y z; % la differentiation
>> z=x^2+y^5
diff(z,x)
ans =2*x

diff(z,y) % la différentiation
ans =5*y^4

>> syms x y z
z0=x^2-y^2;
factor(z0) % la factorisation
ans =[ x - y, x + y]

>> syms x y z
z=x^3-y^3;
factor(z) % la factorisation
ans =[ x - y, x^2 + x*y + y^2]

>>syms x
limit('x/sin(x)',x,0) % calcul de la limite
ans =1

>>syms x
limit('x/sin(x)',x,inf) % calcul de la limite
ans =NaN
11
Chapitre 1 : Initiations à Matlab (Premier pas)

>>int('sin(x)*cos(x)',x,0,pi/2) % intégration simple


ans =1/2

>>int('sin(x)*cos(x)',x,0,inf) % intégration impropre


ans =NaN

>> syms n
S1=symsum(1/n^2,1,inf) %une sommation symbolique
ans S1 =pi^2/6

>> syms x s
laplace(x^3) %transformée de Laplace
ans =6/s^4

>> syms x s
ilaplace(-(s - 1)/s^2) %transformée inverse de Laplace
ans =t – 1

>> syms x w
fourier(-2*pi*abs(x))
ans =(4*pi)/w^2

>> syms x w
ifourier((4*pi)/w^2)
ans = -2*pi*x*sign(x)

Remarque: sign(z) returns the sign of real or complex value z. The sign of a complex number z is defined
as z/abs(z). If z is a vector or a matrix, sign(z) returns the sign of each element of z.

Exercice N°1
1. Créer un vecteur contenant des entiers de 1 à150 avec pas de 2
2. On définit les vecteurs x= [5 4 3 2 1] et y= [1 -2 3 2 -5]. tester les commandes
suivantes : x.*y, y+1, x. /y, sum(y)
3. Comment générer un vecteur ligne contenant 10 valeurs également espacées
entre 4 et 6.

12
Chapitre 1 : Initiations à Matlab (Premier pas)

13
Chapitre 1 : Initiations à Matlab (Premier pas)

14
Chapitre 1 : Initiations à Matlab (Premier pas)

15

Vous aimerez peut-être aussi