Vous êtes sur la page 1sur 16

Auto-apprentissage de Matlab

Semaine 2

Notion de variables, vecteurs et


matrices
Objectif
• Apprendre à manipuler, sous Matlab, les scalaires, les
variables, les vecteurs et matrices et quelques fonctions de
base associées.

• MATLAB (Matrix Laboratory) fonctionne essentiellement avec


un seul type d'objet qui est une matrice numérique
rectangulaire dont les éléments sont réels ou complexes.

• Un scalaire est une matrice de taille 1x1, un vecteur est une


matrice à une colonne,…

• Matlab ne nécessite pas de déclaration pas les des variables.


Leur type (entier, réel, complexe, caractère, chaine de
caractère,…) s'affecte automatiquement en fonction du calcul
effectué.
Recommandations

• Dans ce document, différentes notions sont introduites.


L’apprenant aura à taper les commandes fournies et à
vérifier leurs fonctionnements.

• Deux petits exercices sont proposés à la fin du document.

• L’apprenant doit avoir suffisamment de curiosité et doit


manipuler librement afin d’assimiler ces notions et en
découvrir d’autres. En effet, un langage de
programmation tel que Matlab ne s’enseigne pas mais se
découvre librement.
Les scalaires
• On peut manipuler les scalaires à sa guise :
>> 5+3
>> Exp(2)
>> log(10)
>> log(abs(3^2+6/86))

• Remarque: si on omet le point-virgule à la fin de la


commande, la valeur de la variable ou du scalaire est
affichée après.
Les variables (1)
• Une variable se déclare du moment qu’on lui affecte une
valeur :
>> a=1.2, par défaut elle se déclare en type double
• On peut inclure cette variable dans de nouvelles
expressions mathématiques, pour en créer de nouvelles :
>> b = 5*a^2+a/2 %(^2 est l’opérateur de puissance 2)
• On peut créer des expressions de plus en plus
compliquées :
>> x=3; >> y=6; >> z=86; >>U= log(abs(x^2+y/z))
• On peut aussi faire des calculs en complexe. On écrit
indifféremment i ou j ou sqrt(-1) :
>> a+ b*i %sqrt(.) est la racine carrée
Les variables (2)
• Les variables sont de plusieurs types : binaires, entières,
réelles et ont des tailles différentes : 8 bits, 16 bits,…

• En tapant datatypes en mode ligne et en consultant le


premier bloc des informations fournies, il est possible de
connaître les différents types disponibles.
• Matlab fait la différence entre les minuscules et les
majuscules.
• Les noms de variables peuvent avoir une longueur
quelconque et doivent commencer par une lettre. Ils ne
doivent pas contenir d’espace (chaîne continue de
caractères).
• La commande clear permet d'effacer une partie ou toutes
les variables utilisées jusque là. Par exemple, >> clear a
Les variables (3)
• Il est conseillé de placer la commande clear au début des
fichiers de commandes (>> clear all), afin de supprimer
les anciennes variables existantes dans l’espace de
travail.
• Il existe un certain nombre de variables pré-existantes
(pi, eps (epsilon), inf (infini),…). Il est souhaitable de ne
pas utiliser leurs appellations pour vos propres variables.
C'est souvent le problème pour i et j que l'on utilise
spontanément comme indices de boucles alors qu’elles
traduisent la racine de -1.
• Il existe également des fonctions pré-définies dont il ne
faut pas utiliser le nom : sin, cos, tan, asin, acos, atan,
sinh, cosh, tanh, asinh, acosh, atanh, sqrt, log, log10,
exp,…
Les variables (4)
• On peut accéder à toutes les variables
dans la fenêtre du workspace
Une fois créé, le vecteur x est
listé dans cet espace
Les variables (5)
• On peut accéder aux informations sur
une variable quelconque grâce à
l’onglet open variables En cliquant sur open variables, la liste des variables (ici x et y)
s’affiche et on peut choisir la variable sur laquelle on veut des
informations
Les variables (6)
• On peut accéder aux informations sur
une variable quelconque grâce à
l’onglet open variables
En choisissant x, on voit le contenu,
le type et la taille de x
Manipulations des vecteurs (1)
• Un vecteur est défini en plaçant une séquence de nombres
entre crochets. Exemple : v = [3 1 7 -16 6 -9]
• La commande N=size(v) (ou bien length) permet de vérifier sa
dimension. Dans cet exemple, v est un vecteur ligne. Il est
toutefois possible de le convertir en vecteur colonne en
appliquant l’opérateur de transposition :
>> v = [3 1 7 -16 6 -9]’ ou >>v=[3;1;7;-16;6;-9]
• Matlab offre la possibilité de créer un vecteur à valeurs
répétitives ou ordonnées dans l’ordre croissant ou décroissant.
Exemple : >> v = [1:8] ou >> v=12:-2.5:5
• On peut accéder à n’importe quel élément du vecteur :
1er élément : >> v(1), dernier élément: >> v(end),
n’importe quel élément : >> v(2),
une suite d’éléments : >> v(1:3),
d’un élément au dernier : >> v(3 :end), …
Manipulations des vecteurs (2)
• On peut effectuer des opérations simples sur tout le vecteur à
la fois: >> w=2*v, ou manipuler certains de ces éléments:
>> x=v(1:3)-v(2:4)
Attention : les données d’une opération entre vecteurs doivent
avoir la même dimension : même nombre d’éléments et même
type (ligne ou colonne).

• On peut manipuler 2 ou plusieurs vecteurs à la fois :


>> u=1:10; >> v=11:20; >> w=v+u >> w=v-u/2

• Remarque: les opérations sur les vecteurs ne sont possibles


que s’ils sont de même dimension. Par exemple: la commande
u+v’ ne marche pas car, même si les 2 vecteurs sont de taille
10, u est un vecteur ligne (dimension 1x10) et v’ est un
vecteur colonne (dimension 10x1).
Manipulation des matrices (1)
• Définir une matrice est similaire à définir un vecteur. Elle est
créée par superposition de lignes qui doivent être séparées
par un point virgule, les éléments d’une même ligne sont
séparés par un espace :
>> A=[ 1 2 3; 3 4 5; 6 7 8]
• Vue comme une superposition de colonnes, on peut utiliser
l’écriture suivante: >> B = [ [1 2 3]' [2 4 7]' [3 5 8]’]
• Pour sélectionner un élément d’une matrice, on spécifie deux
indices : la position en ligne et la position en colonne :
>>A(2,3) %dont la valeur est 5
• Accéder à un élément de la matrice ou à plusieurs éléments
se fait selon le même principe que le vecteur en considérant
les deux indices de ligne et de colonne.
• On peut aussi modifier un ou plusieurs éléments d’une
matrice :
>> A(2,2)=0 ou >>A(1:2,1)=1;
Manipulation des matrices (2)
• Pour connaître les variables déjà définies et disponibles dans
l’espace de travail, leurs dimensions et types également, on
utilise la commande whos. La commande who affiche
uniquement les noms des variables.
• Un point fort de Matlab est la facilité de manipulation des
matrices et vecteurs. La multiplication d’un vecteur par une
matrice est par exemple une opération très simple :
>>v=[0:2:8]; >>y=A*v(1:3)’
• On peut également effectuer le produit (somme, différence,
division) de deux matrices: >>C=A*B
• On peut effectuer la multiplication (somme, différence,
division) point par point des éléments de deux matrices (ayant
les mêmes tailles dans ce cas): >>D=A.*B
Manipulation des matrices (3)
• Il existe des matrices pré-définies telles que : eye(M,N),
eye(N), zeros(M,N), ones(M,N), rand(M,N)

• A l’aide de la commande Help, on peut comprendre ces


fonctions et les tester sur des exemples numériques de M et
N.

• On peut les adapter pour qu’elles génèrent des vecteurs en


spécifiant la taille à (M,1) ou (1,N).
Exercices

• Créer un vecteur de votre choix. Calculer sa moyenne,


son maximum et son minimum. Déterminer les positions
des valeurs nulles du vecteur.
Utiliser min, max, mean, find,…
• Soit A une matrice carrée de taille 2x2. Construire une
matrice diagonale B ayant la même diagonale que A.
• Créer un vecteur b de taille 2x1, résoudre Ax=b en une
seule ligne de code Matlab.

Vous aimerez peut-être aussi