Vous êtes sur la page 1sur 3

Il est possible de mixer les différentes formes de saisie de vecteurs.

TP : Langage de calcul >> v=[ -5 3 7 0:2:8 ] Résultat :v = . . . . . . .


scientifique, Pour accéder à un élément d'un vecteur, on utilise son indice entre
parenthèses.
TP 2 : Manipulation des vecteurs >> v=0:10 Résultat : v =. . . . . . . . . .
et matrices. >> v(6) Résultat : ans = .
>> v(9)=20 >> v Résultat : v = . . . . . . .. . .
Introduction :Comme son nom l'indique, Matlab ne travaille qu'avec On peut générer des vecteurs dont les composantes sont uniformément
des matrices, au sens large. Ainsi, un scalaire est pour Matlab une réparties grâce à la fonction linspace dont la syntaxe est linspace(x1,x2,n)
matrice 1×1 et un vecteur de taille n, une matrice n×1 ou 1×n suivant i.e :génère un vecteur ligne de n composantes, subdivision uniforme de
que le vecteur est en colonne ou en ligne. l'intervalle [x1, x2].>> x=linspace(0,1,5) Résultat :x = . . . . . .
Création d’un vecteur ou d’une matrice : La taille d'un vecteur est obtenue grâce à la fonction length.
>> v=0:pi/4:2*pi; >> length(v) ans = 9
Vecteur : Pour définir un vecteur (ligne ou colonne) il suffit de donner la
liste de ses éléments entre crochets []. Pour un vecteur ligne, les éléments Matrice :
sont séparés au choix par un espace ou une virgule (,).
>> v=[1 2 3] Résultat :v =. . . Pour définir une matrice, il suffit de séparer les lignes de la matrice par un
>> v=[3,6,8,1.765] Résultat :v = . . . point-virgule (;) et les colonnes par un espaces (ou une virgule).
Pour un vecteur colonne, les éléments sont séparé au choix par un point- Par exemple : >> A=[1 2 3; 4 1 2; 0 2 4] Résultat A=1 2 3
virgule (;) ou un retour-charriot.>> w=[1; 2; 3] 4 1 2
w =. 0 2 4
. On peut aussi créer une matrice directement à partir de vecteurs. Si v1, v2,
. v3 sont des vecteurs lignes de même taille, alors [v1; v2; v3] est une matrice
>> w=[3.56 dont les lignes sont les vecteurs v1, v2 et v3; et [v1' v2' v3'] est une matrice
2.9 dont les colonnes sont les vecteurs v1', v2' et v3'.
6.3456 >> v1=[1 2 3]; v2=[1 1 1]; v3=[3.5 7.8 0.5];
4.5 ] >> A=[v1; v2; v3] A= . . .
w= . . .
. . . .
. B= [v1' v2' v3'] B= . . .
.On peut utiliser l'opérateur : (énumération) pour créer un vecteur. La . . .
syntaxe générale est v= début :pas :fin où début et fin sont des nombres, . . .
pas est le pas de la tabulation. Par défaut pas=1. Comme pour les vecteurs, la matrice transposée s'obtient grâce à
>> v= -1 : 0.5 :1 Résultat :v = -. . . . l'apostrophe ('). >> A=[8 2 7; 0 1 3] Résultat A= . . .
Remarque : Un vecteur généré par énumération est toujours un vecteur . . .
ligne. >> B=A' B= . .
. .
Accès à un élément d'une matrice : Multiplication, division et puissance au sens matriciel :
Pour accéder à un élément d'une matrice, il suffit de préciser son numéro La multiplication se note simplement * et ne doit pas être confondu avec la
de ligne et son numéro de colonne entre parenthèses. multiplication terme à terme. Il va de soi que si l’on écrit A*B le nombre de
>> A=[8 2 7; 0 1 3]; >> A(2,3) ans = . colonnes de A doit être égal au nombre de lignes de B pour que la
Ou on peut accéder à un élément en utilisant un seul indice multiplication fonctionne. >> a=[1 2;3 4;5 6]; >> b=[1 2 3;4 5 6];
>> A(5) ans = >> a*b ans = 9 12 15
Pour modifier seulement un élément d'une matrice, on utilise le même 19 26 33
principe. Par exemple, si on veut que A22 égal à 22 au lieu de 11 : 29 40 51
>>A(2,2)=22 Ou bien >>A(5)=22 La division A/B représente A multiplié (au sens des matrices) à la matrice
Nous remarquerons que MATLAB réaffiche du coup toute la matrice, en inverse de B.
prenant en compte la modification. La division à gauche A\B signifie l’inverse de A multiplié par B.
Remarque : Si on affecte la composante d'une matrice qui n'existe pas Ce symbole peut être aussi utilisé pour résoudre des systèmes linéaires :si
encore, MATLAB construit automatiquement une matrice suffisamment v est un vecteur A\v représente mathématiquement A-1 v c’est-`a-dire la
grande pour arriver jusqu'aux indices spécifiés, et met des zéros partout solution du système linéaire Ax = v.
sauf au terme considéré. . la taille d’une matrice :
>> P(2,3) = 3 P= 0 0 0 La fonction size appliquée à une matrice renvoie un tableau de deux entiers
0 0 3 : le premier est le nombre de lignes, le second le nombre de colonnes.
Opérations sur les matrices : >> a=[1 2 3 ; 4 5 6;7 8 9] >> size(a) ans = 3 2
Addition et soustraction : Matrices classiques :
Les deux opérateurs sont les mêmes que pour les scalaires. A partir du On peut définir des matrices de taille donnée ne contenant que des 0 avec
moment ou les Deux matrices concernées ont la même taille, La matrice la fonction zeros, ou ne contenant que de 1 avec la fonction ones .Il faut
résultante est obtenue en ajoutant Ou sous trayant les termes de chaque spécifier le nombre de lignes et le nombre de colonnes.
matrice. >> A=[1 2; 3 4]; >> B=[4 5 ;6 7]; exemples : >> ones(2,3) ans = 1 1 1
111
>> A+B ans = . . >> A-B ans = . -. >> zeros(1,3) ans = 000
. . -. -. La matrice identité est obtenue avec eye. On spécifie seulement la
dimension de la matrice (qui est carrée. . .)
Multiplication, division et
>> eye(3) ans = 100
puissance terme à terme : 010
Ces opérateurs sont notés .*,./ et .^ (attention à ne pas oublier le point). 001
Ils sont prévus pour effectuer des opérations termes à terme sur deux Les fonctions matricielles les plus courantes
matrices de même taille. La fonction diag :
La fonction diag permet de créer une matrice diagonale ou d'extraire la
>> A.*B ans = . . A./B ans = . >> A.^2 ans = . .
diagonale d'une matrice. Si u est un vecteur, alors A=diag(u) est la matrice
. . . . .
diagonale dont la diagonale est u.
Si A est une matrice, alors v=diag(A) est le vecteur contenant les éléments >> min(a) ans = 1 2 3
diagonaux de A. La fonction diag(diag(A)) retourne une matrice diagonale >> max(a) ans = 7 8 9
dont la diagonale est elle de la matrice A. trace(a) ans = 15
>> a=[1 2;3 4]; >> v=diag(a) v= 1 >> sort(a) ans = 1 2 3
4 4 5 6
det(A) : renvoie le déterminant de la matrice carrée A. 7 8 9
eig(A) : renvoie les valeurs propres (eigenvalues) de la matrice carrée A. Si l'on >> b=-a; >> abs(b) ans = 1 2 3
souhaite également les vecteurs propres on exécutera [V,D] = eig(A) qui 7 8 9
renvoie une matrice diagonale D formée des valeurs propres de A et une matrice V 4 5 6
dont les vecteurs colonnes sont les vecteurs propres correspondant. norm(a) ans = 16.84 norm(a,1) ans = 18
sum(x) : somme les éléments de chaque colonne de la matrice x, norm(a,inf) ans = 24
prod(x) : produit des éléments de chaque colonne de la matrice x,
Exercice 1 : Création de vecteurs et matrices**
max(x) : plus grand élément de chaque colonne de la matrice x,
1. Créez un vecteur `v` contenant les nombres de 1 à 10 en utilisant
min(x) : plus petit élément de chaque colonne de la matrice x,
mean(x) : moyenne des éléments de chaque colonne de la matrice x,
l'opérateur `:` pour l'énumération.
sort(x) : ordonne les éléments de chaque colonne de la matrice x, par ordre 2. Créez une matrice `A` de taille 3x3 avec des valeurs de votre choix.
croissant, 3. Créez une matrice `B` en multipliant chaque élément de la matrice `A` par
inv(A) : renvoie l'inverse de la matrice carrée A. Exercice 2 : Accès aux éléments**
trace(A) : renvoie la trace de la matrice A. 1. Accédez à l'élément de la deuxième ligne et troisième colonne de la
matrice `A`.
2. Modifiez l'élément de la première ligne et deuxième colonne de la matrice
norm(M) : renvoie la norme 2 de la matrice M . `A` pour qu'il soit égal à 99.
Exercice 3 : Opérations matricielles
norm(A,1) : norme 1 de la matrice A, 1. Créez une matrice identité de taille 4x4.
(somme de max des lignes). 2. Multipliez la matrice `A` par la matrice identité que vous avez créée.
norm(A,inf) : norme infini de la matrice A, 3. Calculez la somme de tous les éléments de la matrice `B`.
4. Calculez la moyenne des éléments de chaque colonne de la matrice `A`.
(somme de max des colonnes). Exercice 4 : Fonctions matricielles
Rand(n,m) : remplissage de valeurs aléatoires : distribution uniforme 1. Calculez le déterminant de la matrice `A`.
Randn(n,m) remplissage de valeurs aléatoires distribution gaussienne 2. Utilisez la fonction `eig` pour trouver les valeurs propres de la matrice `B`.
exemples : a = 1 2 3 3. Créez un vecteur `x` avec des valeurs de 1 à 10, puis calculez la somme, le
7 8 9 produit, la valeur maximale et la valeur minimale des éléments de ce
4 5 6 vecteur.
>> sum(a) ans = 12 15 18
>> prod(a) ans = 28 80 162
>> mean(a) ans = 4 5 6

Vous aimerez peut-être aussi