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

Outils Mathématiques et Utilisation de Matlab

Mathematical Tools and Data Analysis Using Matlab · PDF · 45 pages · 2013

Afficher l'aperçu du document

Consulter le document original →

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 dossier
  • ls : lister les fichiers
  • cd .. : remonter d’un niveau
  • mkdir('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) : exponentielle
  • log(x) : logarithme népérien
  • log10(x) : logarithme base 10
  • sqrt(x) : racine carrée
  • abs(x) : valeur absolue
  • sin(x), cos(x), tan(x) : fonctions trigonométriques
  • asin(x) : arcsinus
  • sinh(x), asinh(x) : sinus hyperbolique et son inverse

Fonctions d’arrondi :

  • round(x) : arrondi au plus proche
  • floor(x) : arrondi par défaut (vers -∞)
  • ceil(x) : arrondi par excès (vers +∞)

Fonctions arithmétiques :

  • rem(m,n) : reste de la division entière
  • lcm(m,n) : plus petit commun multiple
  • gcd(m,n) : plus grand commun diviseur
  • factor(n) : décomposition en facteurs premiers

Pour les nombres complexes :

  • conj(z) : conjugué
  • abs(z) : module
  • angle(z) : argument
  • real(z) : partie réelle
  • imag(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 1
  • zeros(1,n) : vecteur de 0
  • rand(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éments
  • prod(x) : produit des éléments
  • max(x) : maximum
  • min(x) : minimum
  • mean(x) : moyenne
  • sort(x) : tri croissant
  • fliplr(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×n
  • ones(m,n) : matrice m×n de 1
  • zeros(m,n) : matrice m×n de 0
  • rand(m,n) : matrice m×n aléatoire entre 0 et 1
  • magic(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 .m contenant une suite de commandes Matlab.
  • Fonction : fichier .m qui 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.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions