Outils Mathématiques et Utilisation de Matlab
Ce matériel couvre les bases essentielles de l’utilisation de Matlab pour les étudiants en Licence Professionnelle Instrumentation Optique et Visualisation. Il présente l’interface, les types de variables, les opérations mathématiques de base, la manipulation des vecteurs et matrices, ainsi que la programmation simple et la représentation graphique.
D'après le document Outils Mathématiques et Utilisation de Matlab
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.
Document source
Mathematical Tools and Data Analysis Using Matlab · PDF · 45 pages · 2013
Afficher l'aperçu du document
Ce matériel couvre les bases essentielles de l’utilisation de Matlab pour les étudiants en Licence Professionnelle Instrumentation Optique et Visualisation. Il présente l’interface, les types de variables, les opérations mathématiques de base, la manipulation des vecteurs et matrices, ainsi que la programmation simple et la représentation graphique. Ces notes sont destinées à ceux qui ont déjà des notions d’algèbre, d’analyse et de statistiques, et souhaitent apprendre à analyser des données et simuler des systèmes physiques avec Matlab.
Introduction à Matlab
La philosophie de Matlab
Matlab est un langage de programmation scientifique centré sur la manipulation de matrices. L’objet principal est la matrice, un tableau d’éléments d’un même type (entiers, réels, texte, logiques, etc.). Une matrice colonne (n lignes × 1 colonne) est appelée vecteur. Ce cours enseigne comment définir, afficher et effectuer des opérations sur ces matrices.
Matlab ne fait pas de calcul formel, il manipule uniquement des variables numériques codées par défaut en double précision (64 bits), avec environ 16 chiffres significatifs. Les nombres très grands sont notés Inf, les très petits sont considérés comme zéro, et les résultats indéfinis prennent la valeur NaN.
L’interface de Matlab
Command Window
La fenêtre principale où l’on tape les commandes. Chaque ligne commence par >>. Par exemple :
>> 1+1
ans =
2
Si on termine la commande par un point-virgule, le résultat ne s’affiche pas :
>> 1+1;
La variable ans contient la dernière réponse calculée. La commande whos('ans') affiche ses caractéristiques (taille, type, mémoire utilisée).
La commande clc nettoie l’écran.
Matlab supporte l’auto-complétion avec la touche Tab.
Workspace
Affiche la liste des variables en mémoire. On peut double-cliquer pour les afficher ou faire un clic droit pour copier, coller, supprimer.
Command History
Liste des commandes précédemment tapées, permettant de les réexécuter facilement. La commande diary filename enregistre toutes les commandes dans un fichier texte jusqu’à l’exécution de diary off.
Current Folder
Affiche le dossier courant (USERPATH) où Matlab stocke les fichiers. On peut naviguer entre dossiers avec les commandes classiques :
cd: changer de dossierls: lister les fichierscd ..: remonter d’un niveaumkdir('newfolder'): créer un dossier
Exemple de création et ajout d’un dossier au chemin :
>> mkdir('c:/Matlab/myfiles')
>> addpath('c:/Matlab/myfiles')
Les données peuvent être importées via importdata(filename).
Editor
Permet de créer et modifier des fichiers .m (scripts ou fonctions). Un script est une suite de commandes, une fonction permet d’entrer des paramètres et de retourner des résultats.
Exemple de fonction :
function [ output ] = racineplus2( input )
output = sqrt(input + 2);
end
Cette fonction, sauvegardée sous racineplus2.m dans le USERPATH, peut être appelée par :
>> racineplus2(7)
ans =
3
Help
L’aide est accessible via la touche F1, la commande help FunctionName, ou les menus. Elle est indispensable pour apprendre la syntaxe des nombreuses fonctions Matlab.
Exemple "Hello World"
Script
Un script simple affichant un message :
str = 'Hello world';
str
En sauvegardant ce script sous hello.m et en tapant hello dans la Command Window, on obtient :
str =
Hello world
Fonction
Une fonction qui prend un prénom en entrée et retourne un message :
function [ str ] = hello2(prenom)
str = ['Hello ', prenom];
end
Appel :
>> hello2('Quentin')
ans =
Hello Quentin
Outils de base
Types de variables
Les principaux types sont :
- Réels (double précision par défaut) :
a = 1.3; - Complexes :
b = 3 + i; - Chaînes de caractères :
c = 'bonjour'; - Logiques :
d1 = true(1==1); d2 = logical(1); - Entiers (exemple int8) :
e = int8(2);
On peut vérifier le type avec whos ou les fonctions ischar, islogical, isreal.
Précision numérique
Les limites numériques sont données par :
>> min = realmin
min = 2.2251e-308
>> max = realmax
max = 1.7977e+308
>> precision = eps
precision = 2.2204e-16
Les nombres réels sont codés en simple (32 bits) ou double précision (64 bits). La double précision offre environ 16 chiffres significatifs.
Le choix du type de données influence la mémoire utilisée, la rapidité et la précision des calculs.
Arithmétique et opérations sur scalaires
Exemples d’opérations de base :
>> x = 2; y = 1.5;
>> somme = x + y
somme = 3.5000
>> difference = x - y
difference = 0.5000
>> produit = x * y
produit = 3
>> division = x / y
division = 1.3333
Fonctions usuelles :
exp(x): exponentiellelog(x): logarithme népérienlog10(x): logarithme base 10sqrt(x): racine carréeabs(x): valeur absoluesin(x), cos(x), tan(x): fonctions trigonométriquesasin(x): arcsinussinh(x), asinh(x): sinus hyperbolique et son inverse
Fonctions d’arrondi :
round(x): arrondi au plus prochefloor(x): arrondi par défaut (vers -∞)ceil(x): arrondi par excès (vers +∞)
Fonctions arithmétiques :
rem(m,n): reste de la division entièrelcm(m,n): plus petit commun multiplegcd(m,n): plus grand commun diviseurfactor(n): décomposition en facteurs premiers
Pour les nombres complexes :
conj(z): conjuguéabs(z): moduleangle(z): argumentreal(z): partie réelleimag(z): partie imaginaire
Vecteurs
Définir un vecteur
Un vecteur est une collection d’éléments du même type. On peut le définir explicitement :
vec = [1 2 4 7 9 2.3]
Vecteur colonne :
col = [1 ; 2 ; 4 ; 7]
Concaténation de vecteurs :
vec1 = [1 3 5];
vec2 = [9 10 11];
vec = [vec1 vec2]
Transposition :
vec1 = [1 3 5];
vec = vec1'
Fonction length(vec) retourne la taille.
Pour discrétiser un intervalle, on utilise :
linspace(a,b,n): n points entre a et b[a:s:b]: vecteur de a à b avec pas s
Vecteurs prédéfinis :
ones(1,n): vecteur de 1zeros(1,n): vecteur de 0rand(1,n): vecteur aléatoire entre 0 et 1
Manipuler un vecteur
Accès à un élément :
vec(k)
Exemple :
>> vec = linspace(1,10,10)
vec = 1 2 3 4 5 6 7 8 9 10
>> vec(4)
ans = 4
Indices non entiers provoquent une erreur.
Extraction de sous-vecteurs :
vec(3:6)
vec(4:2:8)
vec([1 3 5])
Opérations vectorielles
Les opérations + et - sont terme à terme et nécessitent des vecteurs de même taille.
Le produit matriciel est différent du produit terme à terme. Pour ce dernier, on utilise .* et ./ :
vec.*vec2
vec2./vec
Exemple :
>> vec = [1 3 5 6]; vec2 = [10 20 30 40];
>> vec + vec2
ans = 11 23 35 46
>> vec - vec2
ans = -9 -17 -25 -34
>> vec .* vec2
ans = 10 60 150 240
>> vec2 ./ vec
ans = 10.0000 6.6667 6.0000 6.6667
Les fonctions mathématiques usuelles s’appliquent aussi aux vecteurs :
>> vec = linspace(1,10,10);
>> out = sqrt(vec)
>> out2 = vec.^2
>> out3 = cos(vec)
Commandes spécifiques aux vecteurs :
sum(x): somme des élémentsprod(x): produit des élémentsmax(x): maximummin(x): minimummean(x): moyennesort(x): tri croissantfliplr(x): inverse l’ordre
Matrices
Définir une matrice
Une matrice s’écrit avec [] en séparant les colonnes par des espaces et les lignes par des points-virgules :
A = [1 2 ; 4 3]
Exemple :
A = [1 2 5 ; 4 3 6]
Pour connaître la taille :
[m, n] = size(A)
On peut construire une matrice par blocs :
M = [A B ; C D]
Matrices prédéfinies :
eye(n): matrice identité n×nones(m,n): matrice m×n de 1zeros(m,n): matrice m×n de 0rand(m,n): matrice m×n aléatoire entre 0 et 1magic(n): matrice magique n×n
Manipuler une matrice
Accès à un élément :
A(i,j)
Extraction d’une ligne ou colonne entière :
A(i,:)
A(:,j)
Exemple :
>> A = [1 2 5 ; 4 3 6]
>> A(2,1)
ans = 4
>> A(2,:)
ans = 4 3 6
>> A(:,1)
ans = 1
4
Extraction de plusieurs colonnes :
A(:, [1 2])
Transposition :
A'
Commande diag(A) extrait la diagonale de la matrice A. Inversement, diag(v) crée une matrice diagonale avec le vecteur v sur la diagonale.
Exemple :
>> A = eye(3)
>> diag(A)'
ans = 1 1 1
>> v = [1:3];
>> diag(v)
ans =
1 0 0
0 2 0
0 0 3
Glossaire des termes clés
- Matlab : langage de programmation scientifique centré sur la manipulation de matrices.
- Matrice : tableau à deux dimensions d’éléments du même type.
- Vecteur : matrice colonne (n×1) ou ligne (1×n).
- Script : fichier
.mcontenant une suite de commandes Matlab. - Fonction : fichier
.mqui prend des entrées et retourne des sorties. - Workspace : espace mémoire contenant les variables actives.
- Command Window : fenêtre principale pour entrer des commandes.
- Command History : historique des commandes précédentes.
- USERPATH : dossier utilisateur courant pour stocker les fichiers Matlab.
- Double précision : codage des nombres réels sur 64 bits avec environ 16 chiffres significatifs.
- NaN : valeur numérique représentant un résultat indéfini.
- Inf : valeur numérique représentant l’infini.
- diag : fonction pour extraire ou créer une diagonale de matrice.
- linspace : fonction pour créer un vecteur de points espacés linéairement.
- Auto-complétion : fonctionnalité permettant de compléter automatiquement une commande.
Points clés à retenir
- Matlab manipule principalement des matrices et vecteurs, même pour les scalaires (1×1).
- L’interface Matlab comprend plusieurs fenêtres essentielles : Command Window, Workspace, Command History, Current Folder, Editor.
- Les scripts sont des suites de commandes, tandis que les fonctions permettent d’entrer des paramètres et de retourner des résultats.
- Les types de variables principaux sont réels, complexes, chaînes de caractères, logiques et entiers.
- La précision numérique est limitée par la double précision (64 bits) avec environ 16 chiffres significatifs.
- Les opérations sur vecteurs et matrices nécessitent souvent l’utilisation d’opérateurs spécifiques (par exemple
.*pour produit terme à terme). - La manipulation des matrices (extraction, concaténation, transposition) est simple et puissante.
- L’aide Matlab est un outil indispensable pour apprendre la syntaxe et les fonctions.
Commentaires
Aucun commentaire pour le moment. Posez la première question.