Initiation A MATLAB
Initiation A MATLAB
Initiation A MATLAB
Initiation à MATLAB
Pierre FRANCOIS
MATLAB est un outil perfectionné qui apporte une assistance très complète pour l’ana-
lyse numérique, la simulation de systèmes complexes, et chaque fois que la représenta-
tion graphique de données est indispensable.
Des fonctions spécifiques sont développées en permanence par ses utilisateurs. Elles
sont regroupées dans des boîtes à outils destinées à des domaines très variés.
Pour mes étudiants qui seraient séduits par le logiciel, je signale qu’il existe une version
“étudiant” plus simple que le logiciel professionnel mais mieux adapté a leur porte-mon-
naie...
Les informations apportées par ce guide ont été rédigées à l’origine pour la version 4 de
MATLAB. Elles décrivent les fonctions élémentaires du logiciel qui retrouvent, en toute
logique, le même principe dans des versions plus récentes.
Initiation à MATLAB 1
Table des matières
Avant propos
Table des matières
Initiation à MATLAB 2
Chap. : Table des matières
Chapitre 2 Exercices
11 Manipulation de matrices......................................................................................................... 27
11.1 Représentant matriciel d’une application linéaire ................................................. 27
12 Opérations logiques ................................................................................................................. 28
13 Instructions conditionnelles ..................................................................................................... 29
14 Représentations graphiques ..................................................................................................... 30
14.1 courbes 2D et 3D ................................................................................................... 30
14.2 Surfaces .................................................................................................................. 32
Index
Initiation à MATLAB 3
Chapitre 1
Initiation à MATLAB 4
Chap. 1: Les fonctions élémentaires Les différents types de variables
La façon la plus simple et la plus rapide de les découvrir est d’utiliser le mode de com-
mande dit “immédiat”. Pour cela on travaille dans la fenêtre intitulée “matlab com-
mand”. Dans ce mode une ligne de commande commence par le symbole ( » ), elle est
exécutée par l’action de la touche Entrée.
Initiation à MATLAB 5
Chap. 1: Les fonctions élémentaires Les différents types de variables
Attention, MATLAB interprète différemment les lettres majuscules et les lettres minus-
cules. (matricetruc et matriceTruc sont deux variables différentes)
Le format d’affichage par défaut est de 4 chiffres après la virgule. Il est nommé “ short “.
Essayez les affichages en formats : long, long e, short e
Dans les exemples qui suivent vous allez construire différentes matrices en assemblant
des ensembles de valeurs. Les sous-matrices que l’on assemble ( lignes et/ou colonnes )
seront des valeurs numériques ou des noms de variables.L’ensemble des variables
créées ( A, B, C, D, E, F ) sera nommé par la suite l’environnement courant de calcul.
Initiation à MATLAB 6
Chap. 1: Les fonctions élémentaires Les différents types de variables
Vous pouvez aussi obtenir d’autres renseignements comme le format des matrices (nom-
bre de lignes / nombre de colonnes). La commande est whos .
Remarquez les scalaires.
Si les nombres de lignes et/ou de colonnes d'une variable doivent être utilisés pour un
faire un calcul, on recueille ces formats dans d’autres variables à l’aide de la commande
size. Cette fonction prédéfinie peut avoir plusieurs syntaxes:
• NbLignes = size( NomVariable, 1) pour calculer uniquement le nombre de lignes,
• NbColonnes = size( NomVariable, 2) pour calculer uniquement le nombre de colonnes,
• [NbL,NbC] = size( NomVariable ) pour calculer les deux.
Dans ce dernier cas la fonction produit deux arguments, il est nécessaire de les assem-
bler avec des crochets.
Incrémentation automatique
MATLAB peut affecter des valeurs à une variable en réalisant une incrémentation auto-
matique de pas donné entre une valeur de début et une valeur de fin. La syntaxe utilise
le caractère “deux-points” et le résultat de la commande est une matrice ligne. L’ordre
des informations est le suivant:
val_début : pas : val_fin ou : val_début : val_fin
Initiation à MATLAB 7
Chap. 1: Les fonctions élémentaires Les différents types de variables
Exemples d’utilisation
Les matrices unité sont utiles pour recopier plusieurs fois la même ligne ou la même co-
ASTUCES
lonne.
De la même façon, pour recopier la colonne C, n fois “vers la droite” dans le tableau T:
Initiation à MATLAB 8
Chap. 1: Les fonctions élémentaires Les différents types de variables
Nombres aléatoires
Deux fonctions prédéfinies permettent de créer des matrices aléatoires dont les termes
suivent une distribution uniforme ou normale.
Exemples
Initiation à MATLAB 9
Chap. 1: Les fonctions élémentaires Extraction d'une partie de matrice
Les cas suivant sont des exemples d’extraction d’un seul terme:
La dernière réponse est un message d’erreur fréquemment rencontré quand les indices
de ligne ou de colonne désirés ne conviennent pas aux dimensions de la matrice.
Initiation à MATLAB 10
Chap. 1: Les fonctions élémentaires Extraction d'une partie de matrice
Pour désigner "toutes les lignes" ou "toutes les colonnes" d’une sous-matrice, on utilise
comme indice le caractère deux-points. Ainsi :
• M( :,c) désigne la colonne N° c
Cette commande signifie: “ les termes de la matrice M situés à toutes les lignes, colonne
numéro c ”
• M(l, :) désigne la ligne N° l
Cette commande signifie: “ les termes de la matrice M situés ligne l, à toutes les
colonnes ”
Exemple
Tableau 10: Désignation d’une ligne ou d’une colonne
Vous commandez: MATLAB répond:
» F(:, 2) ans =
5
6
7
8
Initiation à MATLAB 11
Chap. 1: Les fonctions élémentaires Les opérations sur les matrices
Pour effectuer C = A * B il est nécessaire que cA = lB, Le format de C sera (lA, cB).
MATLAB effectuera alors l'opération:
cA
De la même manière,
• pour diviser chaque terme de la matrice A par le terme correspondant de la matrice B,
on écrira:
» A./B
• pour élever chaque terme de la matrice A à la puissance p, on écrira:
» A.^p
Initiation à MATLAB 12
Chap. 1: Les fonctions élémentaires Les expressions logiques
Pour les relations d’ordre et les opérations booléennes, les opérandes peuvent être une
matrice et un scalaire (A < 5 ) ou deux matrices de même format. MATLAB effectue
l’opération terme à terme.
Le résultat de l’évaluation de l’expression logique est une matrice de même format que
les matrices opérandes.
Par contre, les tests de valeur sont appliqués individuellement à chaque colonne de la
matrice opérande. Le résultat de l’évaluation de l’expression logique est une matrice li-
gne.
< inférieur
<= inférieur ou égal
> supérieur
>= supérieur ou égal
== égal
~= différent
A= test1 =
1 2 3 1 1 1
4 5 6 1 0 0
B= » test2=( A <= B)
2 2 2
4 4 4 test2 =
1 1 0
1 0 0
Initiation à MATLAB 13
Chap. 1: Les fonctions élémentaires Les expressions logiques
Tableau 13: C = A | B
C(i,j) B(i,j) nul B(i,j) non nul
A(i,j) nul 0 1
A(i,j) non nul 1 1
B= D=
0 0 1 2 0 0 1 1
0 0 3 4 1 1 1 1
E=
0 0 1 1
1 1 0 0
Initiation à MATLAB 14
Chap. 1: Les fonctions élémentaires Les expressions logiques
Exemple:
» A = [0 0 0 1; 0 0 2 3; 0 4 5 6]; un = any(A), tous = all(A)
A=
0 0 0 1
0 0 2 3
0 4 5 6
un =
0 1 1 1
tous =
0 0 0 1
find
La fonction find permet de rechercher les indices des éléments non nuls d’une matrice.
Elle est donc trés utile pour identifier les éléments qui satisfont une relation d’ordre.
Exemple:
» A=10*magic(4), test=( A<=50 ); B = A .*(test)
A=
160 20 30 130
50 110 100 80
90 70 60 120
40 140 150 10
B=
0 20 30 0
50 0 0 0
0 0 0 0
40 0 0 10
» C = A(indices’)
C=
50 40 20 30 10
Initiation à MATLAB 15
Chap. 1: Les fonctions élémentaires Les instructions conditionnelles
if (Expression_logique_1)
---
Ensemble_d’instructions_1
---
elseif (Expression_logique_2)
---
Ensemble_d’instructions_2
---
else
---
Ensemble_d’instructions_3
---
end
Le contrôle des instructions commence à la lecture du mot if, et prend fin à end
MATLAB évalue l’Expression_logique_1;
• Si elle est vraie, l’Ensemble_d’instructions_1 est éxécuté;
• Si elle est fausse, MATLAB évalue l’Expression_logique_2
•Si elle est vraie, l’Ensemble_d’instructions_2 est éxécuté;
•Si elle est fausse, l’Ensemble_d’instructions_3 est éxécuté;
•etc
Les instructions indispensables sont if et end. Les instructions suivant les mots elseif et
else sont optionnelles
Exemple
if c==1
couleur = ’rouge’
elseif c==2
couleur = ‘vert’
elseif c==3
couleur = ‘bleu’
else
couleur = ‘blanc’
end
Initiation à MATLAB 16
Chap. 1: Les fonctions élémentaires Les instructions conditionnelles
while (Expression_logique)
---
Ensemble_d’instructions
---
end
Exemple
while n>=0
n = input( ‘valeur de n (fin si n négatif): ?‘ )
f = prod(1:n);
disp( [ ‘factorielle de n : ‘, num2str( f ) ] )
end
Exemple
base4 = [ '0' '1' '2' '3' ], A = [ ];
for mult_16 = base4, B = [ ];
for mult_4 = base4,
for unite = base4
B = [B, ' ', [mult_16 mult_4 unite] ];
end,
end
A=[A;B];
end;
disp( 'Les 64 premiers nombres en base 4:' ), A
Initiation à MATLAB 17
Chap. 1: Les fonctions élémentaires Les graphiques
6 Les graphiques
6.1 Les courbes 2D et 3D
Soit deux vecteurs colonnes nommés x et y contenant tous deux 50 lignes.
Il est possible de représenter plusieurs graphes sur la même figure, on utilise les syn-
taxes suivantes:
Initiation à MATLAB 18
Chap. 1: Les fonctions élémentaires Les graphiques
» plot3(x, y, z)
ou
» plot3(x, y, z, at-gr )
( at-gr: attribut graphique optionnel de type chaîne de caractère )
et
» axis( [xmin,xmax, ymin,ymax, zmin,zmax] )
La direction de vue du graphe en projection axonométrique peut être contrôlé par la com-
mande:
» view( az, el )
où les variables az & el sont des valeurs d'angle (en degré) définissant l'azimut et l'élé-
vation de la position de l' oeil par rapport au repère ( O , x y z ).
Le retour aux valeurs par défaut ( az = -37,5° el = 30° ) est obtenu par :
» view(3)
» colormap gray Choix d’une gamme de couleurs (ici: dégradés de gris) pour
la réflection de la lumière
Initiation à MATLAB 19
Chap. 1: Les fonctions élémentaires Les fichiers de commandes
C'est une sorte de sous-programme, il contient une liste de commandes dans la syntaxe
MATLAB. Son exécution est commandée à la lecture du nom du fichier (sans extension),
soit en mode immédiat dans la fenêtre de commande de MATLAB, soit dans un autre
script.
L'utilisation de cette fonction, soit en mode immédiat, soit dans un script, soit dans une
autre fonction, est la suivante:
La fonction peut utiliser des variables locales utilisant n'importe quel nom, y compris
des noms utilisés par d'autres fonctions ou par l'environnement courant de MATLAB.
Ainsi la fonction bidule peut utiliser des variables nommées a ou e sans qu'elles n'inter-
fèrent sur des variables nommées a ou e dans d'autres fichiers.
Initiation à MATLAB 20
Chap. 1: Les fonctions élémentaires Les fichiers de commandes
Exemple
Soit le fichier texte nommé “demisom.m” contenant les commandes suivantes:
demisom.m
d=2;
DS = (val1 + val2) / d;
Environnement Environnement
courant de local de la fonction
MATLAB demisom
Initiation à MATLAB 21
Chap. 1: Les fonctions élémentaires La sauvegarde des données
Initiation à MATLAB 22
Chap. 1: Les fonctions élémentaires La sauvegarde des données
» save fich.txt var -ascii Sauvegarde seulement le contenu de la variable var dans
le fichier texte fich.txt
Initiation à MATLAB 23
Chap. 1: Les fonctions élémentaires Utilisation de l'aide en ligne
•Vous connaissez le nom d'une fonction et vous désirez connaître la syntaxe complète de
la commande (les paramètres d'entrée et de sortie, leur ordre)
Commandez:
» help nom_fonction
Initiation à MATLAB 24
Chap. 1: Les fonctions élémentaires La Configuration du logiciel
10 La Configuration du logiciel
Le logiciel est configuré automatiquement au démarrage par l'exécution du fichier Mat-
labrc.m. Celui-ci met à jour la variable: path qui renseigne MATLAB sur les différents
chemins de recherche des fonctions que l'on peut lui demander d'exécuter.
Avant d'utiliser MATLAB, vérifiez que votre répertoire de travail existe et qu'il contient
vos fichiers courants. Dans le cas contraire, créez le par la commande md.
Par exemple:
md C:\CALCUL
Exemple
Imaginons que votre répertoire d’accueil soit G:\
Si le fichier strartup.m n'existe pas encore, créez le à l'aide d'un éditeur de texte.
Enregistrez-y les commandes suivantes:
C:\startup.m
cd C:\CALCUL
disp(' Le répertoire courant est: '); pwd
disp(' Il contient les fichiers suivants:'); dir
Initiation à MATLAB 25
Chapitre 2
Exercices
Avertissement:
Initiation à MATLAB 26
Chap. 2: Exercices Manipulation de matrices
11 Manipulation de matrices
11.1 Représentant matriciel d’une application linéaire
Soit E un espace vectoriel euclidien. (a ⋅ u) ⋅ u
Soit b une base orthonormée directe de E.
Soient a et u deux vecteurs de E. a
u
On note A et U les matrices (3,1) contenant les coordon-
nées de n et u dans la base b.
a1 u1
A = [ a ] ( b ) = a2 et U = [ u ] ( b ) = u2
u∧a
–u ∧ ( u ∧ a )
a3 u3
Exercice 4. Rotation (a ⋅ u) ⋅ u
On cherche le représentant matriciel de l’application li- a
u
R(a)
néaire R de E dans E, qui transforme a en R ( a ) par une
rotation d’angle α radian autour du vecteur u
R ( a ) = ( a ⋅ u ) ⋅ u – cos ( α ) ⋅ u ∧ ( u ∧ a ) + sin ( α ) ⋅ ( u ∧ a )
• Construire cette matrice, nommée R, en fonction de la α u∧a
–u ∧ ( u ∧ a )
valeur α et des coordonnées de u dans b
• Calculer les coordonnées de R ( a ) par le produit de R par A
Initiation à MATLAB 27
Chap. 2: Exercices Opérations logiques
12 Opérations logiques
Exercice 5. Fonctions puissances tronquées
On désire calculer les fonctions fi+(x) définie par:
⎧ 0 si x < xi
fi + ( x ) = ⎨ 3
⎩ ( x – xi ) si x ≥ xi
pour les valeurs x i ∈ { 2, 4, 6, 8 }
L’intervalle d’étude est x ∈ [ 0, 10 ]
Exercice 6. Topologie
On désire identifier les points d’un ensemble { P 1, P 2, . . . , P n } qui se trouvent sous le
plan d’équation:
a⋅x+b⋅y+c⋅z+d = 0
Les coordonnées des points sont enregistrées dans trois matrices X Y Z de même format.
• Recenser les indices (dans X Y Z) des points qui vérifient l’équation;
• Extraire les coordonnées des points solutions dans les matrices Xs, Ys, Zs.
Initiation à MATLAB 28
Chap. 2: Exercices Instructions conditionnelles
13 Instructions conditionnelles
Exercice 7. Numérotation en base 4
On désire générer les 64 premiers nombres en base 4. Le résultat sera enregistré dans
une matrice de 64 lignes contenant chacune un nombre sous forme de chaîne de carac-
tère.
Pour cela:
• Générer l’ensemble des unités de cette base. Cette matrice, nommée base4, est com-
posée des 4 caractères alphanumériques: ’0’ ; ’1’ ; ’2’ ; ’3’ ;
• En utilisant 3 boucles FOR . . . END imbriquées, assembler un multiple de 16, un mul-
tiple de 4 et une unité pour composer chaque nombre.
Initiation à MATLAB 29
Chap. 2: Exercices Représentations graphiques
14 Représentations graphiques
14.1 courbes 2D et 3D
Exercice 8. Graphe d’une fonction de plusieurs variables
Soit n=5.
Générer un vecteur ligne, nommé i, contenant n+1 valeurs uniformément réparties en-
tre 0 et n.
Créer une matrice (100,n+1), nommée I, qui contient 100 fois la ligne i.
Pour tous les termes de U, et tous les termes de I correspondants (même indice de ligne
et de colonne), calculer dans la matrice F les valeurs de la fonction de la variable u pour
différentes valeurs du paramètre i:
sin ⎛ 2 ⋅ π ⋅ u ⋅ ⎛ --i- + 1⎞ ⎞
⎝ ⎝n ⎠⎠
F ( u, i ) = -------------------------------------------------------
i+1
Changer les dimensions pour que les limites du graphe soient (-1.5 , 1.5) pour u et pour F
Ajouter des labels sur les abcisses et les ordonnées et un titre au graphique. Ajouter un
quadrillage.
Tester les mêmes manipulations sur un graphique 3D avec u sur l’axe X, i sur l’axe Y,
et F sur l’axe Z.
Modifier la direction de la vue en agissant sur les angles d’azimut et d’élévation pour ob-
tenir la vue de face XZ, la vue de droite YZ, la vue de dessus XY.
Initiation à MATLAB 30
Chap. 2: Exercices Représentations graphiques
ax ⎧ –4 ⋅ π ≤ x ≤ 4 ⋅ π
f ( x ) = sin ( x ) ⋅ e pour ⎨
⎩ a ∈ { – 0, 15 ;– 0, 1 ;– 0, 05 }
L’exponentielle s’obtient par la fonction “exp”
⎧ x ( t ) = cos ( 3t )
⎨ avec 0≤t≤2⋅π
⎩ y ( t ) = sin ( 2t )
⎧ x ( t ) = sin ( t ) ⋅ cos ( t )
⎪
⎨ y ( t ) = sin ( t )
2 pour –π ≤ t ≤ π
⎪
⎩ z ( t ) = cos ( t )
Générer un vecteur ligne, nommé i, contenant n+1 valeurs uniformément réparties en-
tre 0 et n.
Créer une matrice (100,n+1), nommée I, qui contient 100 fois la ligne i.
A l’aide de la fonction cumprod calculer les factorielles de toutes les valeurs entières en-
tre 0 et n. affecter le résultat à la matrice ligne fi.
On rappelle que, par convention, 0!=1
(exemple: pour n = 5: fi = 1 1 2 6 24 120)
Initiation à MATLAB 31
Chap. 2: Exercices Représentations graphiques
Créer une variable filr contenant les valeur de fi dans l’ordre inverse.
(exemple: pour n = 5: filr = 120 24 6 2 1 1)
Créer une variable c égale à fn divisé par chacun des termes de fi et chacun des termes
de filr.
(exemple: pour n = 5: c = 1 5 10 10 5 1)
Créer une matrice (100,n+1), nommée C, qui contient 100 fois la ligne c.
Tracer en 2D les courbes représentant les valeurs des colonnes de B en fonction de celles
de U.
14.2 Surfaces
Exercice 14. Cône
Dessiner sous forme de maillage (Xc, Yc, Zc) la surface C suivante:
Cône (de révolution) d’axe ( O, z ) ,
- de sommet S de coordonnées:(0, 0, Zs),
- d’angle au sommet: a
Pour Zs = 5 mm, a = 40 degrés et pour des valeurs de z telles que: 0 < z < h
Initiation à MATLAB 32
Chapitre 3
Initiation à MATLAB 33
Chap. 3: Guide des fonctions de Matlab Références
16 Références
/ Division
‘ Transposée
Gestion des variables et de l’environnement
Opérateurs relationnels
clear Efface les variables et les fonctions de la mémoire
load Rappelle des variables enregistrées sur disque >= Supérieur ou égal à
~ NON logique
format Défini le format d’affichage des nombres ... Suite à la ligne suivante
home Ramène le curseur au début de la fenêtre , Séparateur de colonnes (dans une matrice)
Opérateurs arithmétiques
all Vrai si TOUS les éléments d’un vecteur sont VRAIS
Initiation à MATLAB 34
Chap. 3: Guide des fonctions de Matlab Références
Graphes élémentaires
Variables spéciales et constantes
Graphes spécialisés
Gestion de l’horloge
Graphiques 3D
Fonctions mathématiques élémentai-
Initiation à MATLAB 35
Chap. 3: Guide des fonctions de Matlab Références
Lignes et polygones
plot3 Trace une courbe en 3-D gca Pointeur des axes courants
meshc Maillage avec courbes de niveau get frame Prépare une animation
surfc Surface avec courbes de niveau moviein Initialise la mémoire pour une animation
Initiation à MATLAB 36
Chap. 3: Guide des fonctions de Matlab Références
saxis Echelle de l’axe des sons eig Valeurs propres et vecteurs propres
isstr Vrai si la variable est une chaîne cumprod Produit cumulé des éléments d’un vecteur
setstr Converti une valeur numérique en chaîne cumsum Somme cumulée des éléments d’un vecteur
median Médiane
lower Converti une chaîne en minuscules
min Valeur mini
strcmp Compare deux chaînes
prod Produit des éléments d’un vecteur
upper Converti une chaîne en majuscules
sort Tri dans l’ordre croissant
int2str Conversion entier vers chaîne trapz Intégration numérique (méthode des trapèzes)
num2str Conversion nombre vers chaîne diff Approximation de la dérivée (différences finies)
Produit de convolution
Méthodes de résolution d’équations li- conv
néaires conv2 Convolution 2-D
rank Rang (Nb lignes ou colonnes lin. indépendantes) fft2 Transformée de Fourier discrète 2-D
Initiation à MATLAB 37
Chap. 3: Guide des fonctions de Matlab Références
poly Construction à l’aide des racines fprintf Ecrit des données formatées dans un fichier
fzero Zéros d’une fonction d’une variable function Ajoute une nouvelle fonction
ode23 Résolution d’équations différentielles global Défini une variable comme globale
Instructions de contrôle
spdiag Matrice creuse formée de diagonales
Conversion matrices creuses / matrices pleines elseif Si (Condition à l’intérieur d’une autre condition)
find Recherche les indices des éléments non nuls for Répétitions définies d’une séquence
sparse crée une matrice creuse if Exécute une séquence sous condition
Initiation à MATLAB 38
Chap. 3: Guide des fonctions de Matlab Références
Initiation à MATLAB 39
Chapitre 4
Sources d’information
Initiation à MATLAB 40
Chap. 4: Sources d’information Bibliographie
17 Bibliographie
Outre le guide de référence fourni avec le logiciel par “The MathWorks Inc.”, il existe des ouvrages inté-
ressants pour le débutant.
Le plus complet que je connaisse, est si bien conçu que l’on peut le désigner comme “la bible de l’utilisateur
occasionnel de MATLAB” :
Initiation à MATLAB 41
Chap. 4: Sources d’information Adresses Internet
18 Adresses Internet
18.1 Forum de discutions (news group)
Le groupe de discutions:
news://comp.soft-sys.matlab
• www.mathworks.com/ftpindex.html
on trouvera des fichiers M provenant de tous pays classés par catégories.
• www.mathworks.com/support/tech-note/technical.html
• www.mathworks.com/support/faq/faq.html
• www.mathworks.com/support/solutions/solutions.html
• www.ssg.fr/notetech.html
• www.ssg.fr/sup_tech.html
La lettre d’informations mensuelle est publiée par “The MathWorks Inc.” à:
• www.mathworks.com/newsletter/nn.html
• www.ssg.com/
Initiation à MATLAB 42
Chapitre 5
Initiation à MATLAB 43
Chap. 5: Solutions des exercices Manipulation de matrices
19 Manipulation de matrices
Exercice 1. Produit vectoriel
0 – u3 u2
la matrice antisymétrique : PvU = u3 0 – u1
– u2 u1 0
Sa construction s’obtient en affectant d’abord à PvU une matrice 3x3 nulle:
» PvU = zeros(3);
puis en calculant les différents termes non nuls en fonctions des valeurs extraites de la
matrice U:
» PvU(3,2) = u(1); PvU(2,3) = - u(1);
» PvU(1,3) = u(2); PvU(3,1) = - u(2);
» PvU(2,1) = u(3); PvU(1,2) = - u(3);
Les coordonnées de u ∧ a s’obtiennent par :
» PvU * A
Rque: Une fonction prédéfinie de MATLAB réalise cette opération. Elle se nomme cross.
Initiation à MATLAB 44
Chap. 5: Solutions des exercices Manipulation de matrices
» PoU * A
Exercice 4. Rotation
Le représentant matriciel de l’application linéaire:
R ( a ) = ( a ⋅ u ) ⋅ u – cos ( α ) ⋅ u ∧ ( u ∧ a ) + sin ( α ) ⋅ ( u ∧ a ) a pour expression en fonction des
coordonnées de u dans la base b:
2 2
u1 u1u2 u1u3 u1 – 1 u1u2 u1u3 0 – u3 u2
R = u1u2 u2 2 u2u3 – cos α ⋅ 2
u1u2 u2 – 1 u2u3 + sin α ⋅ u3 0 – u1
2 2 – u2 u1 0
u1u3 u2u3 u3 u1u3 u2u3 u3 – 1
Autre solution:
En utilisant la relation : – u ∧ ( u ∧ a ) = a – ( a ⋅ u ) ⋅ u
On obtient une autre expression de la transformation R :
2
10 0 u1 u1u2 u1u3 0 – u3 u2
R = cos α ⋅ 0 1 0 + ( 1 – cos α ) ⋅ u1u2 u2 2 u2u3 + sin α ⋅ u3 0 – u1
00 1 2 – u2 u1 0
u1u3 u2u3 u3
Initiation à MATLAB 45
Chap. 5: Solutions des exercices Opérations logiques
20 Opérations logiques
Exercice 5. Fonctions puissances tronquées
Exercice 6. Topologie
Initiation à MATLAB 46
Chap. 5: Solutions des exercices Instructions conditionnelles
21 Instructions conditionnelles
Exercice 7. Numérotation en base 4
Initiation à MATLAB 47
Chap. 5: Solutions des exercices Représentations graphiques
22 Représentations graphiques
Exercice 8. Graphe d’une fonction de plusieurs variables
Initiation à MATLAB 48
Index
A coordonnée . . . . . . . . . . . . . . . 19
abscisse . . . . . . . . . . . . . . . . . 18 couleur
affiche. . . . . . . . . . . . . . . . . . . 25 de lignes . . . . . . . . . . . . . . 18
aide . . . . . . . . . . . . . . . . . . . . 24 gamme de . . . . . . . . . . . . . 19
algèbre de Boole . . . . . . . . . . . 14 courbe . . . . . . . . . . . . . . . . . . 18
all . . . . . . . . . . . . . . . . . . . . . . 15 crochets . . . . . . . . . . . . . . . . . . 6
ans . . . . . . . . . . . . . . . . . . . . . . 5
any . . . . . . . . . . . . . . . . . . . . . 15
D
ASCII . . . . . . . . . . . . . . . . . . . 22
démarrage . . . . . . . . . . . . . . . 25
attribut graphique . . . . . . . . . 19
dessin . . . . . . . . . . . . . . . . . . 18
axis . . . . . . . . . . . . . . . . . . 18, 19
déterminant . . . . . . . . . . . . . . 12
azimut . . . . . . . . . . . . . . . . . . 19
deux-points . . . . . . . . . . . . . . . 7
dimension . . . . . . . . . . . . . . . 10
B disp . . . . . . . . . . . . . . . . . . . . 25
base de données . . . . . . . . . . . 22 disque . . . . . . . . . . . . . . . . . . 22
boîtes à outils . . . . . . . . . . . . . 25 disquette . . . . . . . . . . . . . . . . 22
distribution . . . . . . . . . . . . . . . 9
C données . . . . . . . . . . . . . . . . . 22
caractère
deux points . . . . . . . . . . . . . 7 E
deux-points . . . . . . . . . . . . 11 écart type . ................ 9
espace . . . . . . . . . . . . . . . . . 6 échange
point . . . . . . . . . . . . 6, 12, 22 de données . . . . . . . . . . . . 22
échelle . . . . . . . . . . . . . . . . . .
18
point-virgule . . . . . . . . . . 5, 6
éléments non nuls . . . . . . . . . 15
chaîne de caractère . . . . . . . . . 19
élévation . . . . . . . . . . . . . . . .
19
chemins d'accès. . . . . . . . . . . . 25
else . . . . . . . . . . . . . . . . . . . .
16
colonne . . . . . . . . . . . . . . . . . . . 6
elseif . . . . . . . . . . . . . . . . . . .
16
ensemble de . . . . . . . . . . . 10 ensemble
condition . . . . . . . . . . . . . . . . . 16
d’instructions . . . . . . . . . . 16
configuration . . . . . . . . . . . . . 25
environnement . . . . . . . . . . 7, 25
contrôle
courant . . . . . . . . . . . . 20, 21
d’instructions . . . . . . . . . . 16
Initiation à MATLAB 49
Chap. : Index
local . . . . . . . . . . . . . . . . . 21 de valeurs . . . . . . . . . . . . 17
espace . . . . . . . . . . . . . . . . . . . 22
ET logique . . . . . . . . . . . . . . . 14 M
expression logique . . . . . . . . . 13 maillage. . . . . . . . . . . . . . . . . 19
extraction . . . . . . . . . . . . . . . . 10 matrice . ................. 6
eye . . . . . . . . . . . . . . . . . . . . . . 8
aléatoire. . . . . . . . . . . . . . . 8
identité . . . . . . . . . . . . . . . . 8
F nulle . . . . . . . . . . . . . . . . . . 8
fenêtre
prédéfinie. . . . . . . . . . . . . . 8
de commande . . . . . . . . 5, 20
unité . . . . . . . . . . . . . . . . . . 8
graphique . . . . . . . . . . . . . 18
mean . . . . . . . . . . . . . . . . . . . . 9
fichier
mesh . . . . . . . . . . . . . . . . . . . 19
de commande . . . . . . . . . . 20 message . . . . . . . . . . . . . . . . . 25
fonction . . . . . . . . . . . . . . . 20 moyenne . . . . . . . . . . . . . . . . . 9
script . . . . . . . . . . . . . . . . . 20
texte. . . . . . . . . . . . . . . . . . 22 N
fichier ASCII . . . . . . . . . . . . . 22 noeuds . . . . . . . . . . . . . . . . . . 19
find . . . . . . . . . . . . . . . . . . . . . 15 NON logique . . . . . . . . . . . . . 14
fonction. . . . . . . . . . . . . 5, 20, 24
format . . . . . . . . . . . . . . . . . . 12
O
d’affichage . . . . . . . . . . . . . 6 ones . . . . . . . . . . . . . . . . . . . . . 8
de matrices . . . . . . . . . . . . . 7 opération . . . . . . . . . . . . . . . . 12
function . . . . . . . . . . . . . . . . . 20 opération booléenne . . . . . . . . 13
ordonnée . . . . . . . . . . . . . . . . 18
G OU EXCLUSIF . . . . . . . . . . . 14
graphique . . . . . . . . . . . . . . . . 18 OU logique . . . . . . . . . . . . . . 14
H P
help . . . . . . . . . . . . . . . . . . . . 24 pas . . . . . . . . . . . . . . . . . . . . . 7
hold . . . . . . . . . . . . . . . . . . . . 18 path . . . . . . . . . . . . . . . . . . . . 25
personnaliser . . . . . . . . . . . . . 25
plot . . . . . . . . . . . . . . . . . . . . 18
I
plot3 . . . . . . . . . . . . . . . . . . . 19
if . . . . . . . . . . . . . . . . . . . . . . . 16
prime . . . . . . . . . . . . . . . . . . . . 7
incrémentation . . . . . . . . . . . . . 7
produit
indice . . . . . . . . . . . . . . . . 10, 15
matriciel. . . . . . . . . . . . . . 12
de colonne. . . . . . . . . . . . . . 9
terme à terme. . . . . . . . . . 12
de ligne . . . . . . . . . . . . . . . . 8
puissance . . . . . . . . . . . . . . . . 12
instructions
conditionnelles . . . . . . . . . 16
R
contrôle de . . . . . . . . . . . . 16
relation d’ordre . . . . . . . . . . . 13
de type SI ALORS SINON. 16 rendu réaliste . . . . . . . . . . . . 19
de type TANT QUE . . . . . . 17 répertoire
répétées. . . . . . . . . . . . . . . 17 courant. . . . . . . . . . . . . . . 25
inverse . . . . . . . . . . . . . . . . . . 12 d’accueil . . . . . . . . . . . . . 25
L S
lettres sauvegarde . . . . . . . . . . . . . . 22
majuscules . . . . . . . . . . . . . 6 scalaire . . . . . . . . . . . . . . . . 5, 7
minuscules . . . . . . . . . . . . . 6 séparateur
ligne . . . . . . . . . . . . . . . . . . . . . 6 décimal . . . . . . . . . . . . 6, 22
ensemble de . . . . . . . . . . . 10 size . . . . . . . . . . . . . . . . . .
... 7
liste somme . . . . . . . . . . . . . . . .
. . 12
sous-matrice . . . . . . . . . . . 6, 10
Initiation à MATLAB 50
Chap. : Index
sous-programme . . . . . . . . . . . 20
sous-répertoires . . . . . . . . . . . 25
soustraction . . . . . . . . . . . . . . 12
startup.m . . . . . . . . . . . . . . . . 25
std . . . . . . . . . . . . . . . . . . . . . . 9
surf . . . . . . . . . . . . . . . . . . . . . 19
surface . . . . . . . . . . . . . . . . . . 19
syntaxe . . . . . . . . . . . . . . . . . . 24
T
table de vérité . . . . . . . . . . . . . 14
tableur . . . . . . . . . . . . . . . . . . 22
tabulation . . . . . . . . . . . . . . . . 22
test . . . . . . . . . . . . . . . . . . . . . 13
toolbox . . . . . . . . . . . . . . . . . . 25
transposée . . . . . . . . . . . . . . . 12
V
valeur
de début . . . . . . . . . . . . . . . 7
de fin . . . . . . . . . . . . . . . . . . 7
liste de. . . . . . . . . . . . . . . . 17
valeur logique
FAUX . . . . . . . . . . . . . . . . 13
VRAI . . . . . . . . . . . . . . . . . 13
variable
d’entrée. . . . . . . . . . . . . . . 20
de sortie . . . . . . . . . . . . . . 20
locale . . . . . . . . . . . . . 20, 21
view . . . . . . . . . . . . . . . . . . . . 19
virgule . . . . . . . . . . . . . . . . . . . 6
W
while . . . . . . . . . . . . . . . . . . . 17
who. . . . . . . . . . . . . . . . . . . . 5, 6
whos . . . . . . . . . . . . . . . . . . . . .7
Z
zeros . . . . . . . . . . . . . . . . . . . . .8
Initiation à MATLAB 51