Documente Academic
Documente Profesional
Documente Cultură
Université de Jijel
1
Introduction
Matlab est un langage simple et très efficace, optimisé pour le traitement des
matrices, d’où son nom. Pour le calcul numérique, Matlab est beaucoup plus
concis que les “vieux” langages (C,Pascal, Fortran, Basic). Un exemple: plus
besoin de programmer des boucles modifier pour un à un les éléments d’une
matrice. On peut traiter la matrice comme une simple variable. Matlab contient
également une interface graphique puissante, ainsi qu’une grande variété
d’algorithmes
Scientifiques.
2
Les Différentes fenêtres de Matlab
1. En utilisant la fenêtre d'espace de travail (Workspace), j'ai obtenu ces résultats :
>> a=2+3i
a=
2.0000 + 3.0000i
>> c='abcd'
c=
abcd
2. Who / Whos
a ans b c d
>> whos
Name Size Bytes Class Attributes
3
b 2x2 32 double
c 1x4 8 char
d 2x2 276 cell
Donc: l'instruction who nous donne les objets qui se trouvent dans l'espace de travaille;
quant à whos elle vous donne les détails des objets qui sont : name, size, byte, classe ….
3. Après avoir terminé l'exercice on utilise clear pour vider les fenêtres de commandes,
d'historique et de travail.
1. On veut trouver comment calculer les différentes normes de vecteurs (norme euclidienne,
norme1, norme infini), le produit scalaire de 2 vecteurs, et le produit vectoriel de deux vecteurs. Pour
cela il est recommandé de taper lookfor vector dans la fenêtre de commande ; et on obtiendra :
4
detrend - Remove a linear trend from a vector, usually for FFT processing.
On peut aussi faire différentes recherches sur les commandes et fonctions (norm, cross, dot …) e.i :
A and B must be vectors of the same length. When A and B are both
dimension DIM.
Soit :
a =1
b=[1 1 2 2]'
b =1
5
2
>> dot(a,b)
ans = 16
>> norm(a)
ans = 6
>> norm(a,2)
ans = 6
>> norm(a,inf)
ans = 5
2. Par défaut, Matlab utilise une précision de 4 chiffres après la virgule pour l'affichage de
résultats. L'utilisateur peut changer la précision des nombres en choisissant parmi les formats ci-
dessous: (tester sur le nombre PI)
>> format short : 4 chiffres après la virgule (par défaut)
>> pi
ans =
3.1416
6
>> pi
ans =
3.14159265358979
ans =4.2000
>> 1/2+1/3
ans = 0.8333
construction de vecteurs.
La prévision de l'effet des commandes sans utiliser le logiciel:
1.
>> a=[1 2 3]
a =1 2 3
>> b=[1 2 3]
b=1 2 3
>> c=[1:2:3]
c =1 3
d=1
7
>> e=[0;i]
e =0
0 + 1.0000i
>> e'
ans =
0 0 - 1.0000i
>> e.'
ans =
0 0 + 1.0000i
2.
>> a=0:10
a =0 1 2 3 4 5 6 7 8 9 10
>> b=0.10
b = 0.1000
>> c=[0:10]
c =0 1 2 3 4 5 6 7 8 9 10
>> d=[0;10]
d =0
10
>> e=[0,10]
e=0 10
>> f=0.7:3.4
3.
>> a=[0:0.1:1]
8
a=
0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000
>> b=[0:0.15:1]
b=
>> c=[1:-0.15:0]
c=
>> d=linspace(0,1,10)
d=
4 5 6
>> zeros(2,3)
ans = 0 0 0
9
0 0 0
>> c=[A,zeros(2,3)]
c=1 2 3 0 0 0
4 5 6 0 0 0
>> diag([1,2])
ans = 1 0
0 2
>> eye(2,4)
ans =1 0 0 0
0 1 0 0
>> B=[A,zeros(2,3);diag([1,2]),eye(2,4)]
B=
1 2 3 0 0 0
4 5 6 0 0 0
1 0 1 0 0 0
0 2 0 1 0 0
>> size(B)
ans = 4 6
B=
1 2 3 0 0 7
4 5 6 0 0 8
1 0 1 0 0 9
0 2 0 1 0 10
10
L'extraction de la matrice correspondante aux ligne 2 et 4, et aux colonnes 2 et 6:
>> B([2,4],[2,6])
ans =
5 8
2 10
ans =1 4
2 5
3 6
>> diag(A)
ans = 1
>> diag(diag(A))
ans = 1 0
0 5
>> triu(A)
ans =1 2 3
0 5 6
>> tril(A)
ans = 1 0 0
4 5 0
>> rand(size(A))
ans =
11
0.9058 0.9134 0.0975
>> eye(size(A))
ans = 1 0 0
0 1 0
4.
>> A(1,2)=0
A=1 0 3
4 5 6
Cette commande fait remplacer le chiffre 2 de la 1ère ligne et la 2ème colonne par le chiffre 0 .
>> A(4,2)=5
A=1 2 3
4 5 6
0 0 0
0 5 0
Cette commande a ajouter deux nouvelles lignes à la matrice A, et a fait remplacer le ch iffre 0
de la 4ème ligne de la 2ème colonne par le chiffre 5.
>> A(10)
ans = 6
4 5 6 4
1.
>> B=A+2
12
B =3 4 5
6 7 8
L'addition d'un scalaire à une matrice revient à l'ajout de ce dérnier à tous ces élèments.
>> C=A*3
C =3 6 9
12 15 18
D=[A+3*eye(size(A))] , On exclue les commandes interne après on execute les autres commandes.
>> size(A)
ans = 2 3
>> eye(2,3)
ans =1 0 0
0 1 0
>> 3*eye(size(A))
ans =3 0 0
0 3 0
>> D=[A+3*eye(size(A))]
D=4 2 3
4 8 6
2.
>> E=A*A
>> F=A.*A
F =1 4 9
16 25 36
13
C'est une multiplication dite élément par élément.
>> G=A^3
>> H=A.^3
H =1 8 27
64 125 216
>> I=exp(A)
>> J=sqrt(A)
>> K=A*u
>> L=A.*A'
>> M=A*A'
M =14 32
32 77
14
Utilisation d'un fichier externe (script) et de la fenêtre de
l'éditeur (Curent Directory).
Pour créer un nouveau fichier, allez dans le menu de sélection à:
"File/New/M-file"
Pour ouvrir un fichier déjà créé, allez à:
"File/Open" et choisissez le nom du fichier en question.
La fenêtre "Edit Window" peut être vue comme un éditeur de texte où:
• Les commentaires sont écrits en vert et débutent par "%"
• Les variables et équations apparaissent en noir
• Les caractères apparaissent en rouge
La boucle <for>
La boucle "for" s'écrit de la manière suivante:
for index = expression
…
…
…
end
où "expression" prend généralement la forme suivante:
début:incr:fin
Exemple 1:
Exemple 2:
function A = matA(n)
A= zeros (n)
for i= 1:n
for j= 1:n
A(i,j)= 1/(i^2+j^2+1)
end
end
15
if "expression"
---
---
elseif "expression"
---
---
else
---
end
Exemple:
Exemple:
16
17