Guides de référence

Guide de référence des fonctions de base de MATLAB

Améliorer Python avec MATLAB

Intégrez les outils avancés de MATLAB directement dans vos workflows Python.

Environnement MATLAB

clc Effacer la fenêtre de commande
help fun Afficher l’aide en ligne pour fun
doc fun Ouvrir la documentation pour fun
load("filename","vars") Charger des variables depuis un fichier .mat
uiimport("filename") Ouvrir l’outil d’importation interactive
save("filename","vars") Enregistrer les variables dans un fichier
clear item Supprimer les éléments de l’espace de travail
examplescript Exécuter le script nommé examplescript
format style Définir le format d’affichage de la sortie
ver Obtenir la liste des toolboxes installées
tic, toc Démarrer et arrêter le timer
Ctrl+C Interrompre le calcul en cours

Définition et modification des variables de tableau

a = 5 Définir une variable a avec la valeur 5

A = [1 2 3; 4 5 6]

A = [1 2 3

4 5 6]

Définir A comme une matrice 2×3 ; un espace sépare les colonnes et « ; » ou un retour à la ligne sépare les lignes
[A,B] Concaténer les tableaux horizontalement
[A;B] Concaténer les tableaux verticalement
x(4) = 7 Modifier le quatrième élément de x par 7
A(1,3) = 5 Modifier A(1,3) par 5
x(5:10) Obtenir les éléments 5 à 10 de x
x(1:2:end) Obtenir un élément sur deux de x (du premier au dernier, aux positions impaires)
x(x>6) Lister les éléments supérieurs à 6
x(x==10)=1 Modifier des éléments à l’aide d’une condition
A(4,:) Obtenir la quatrième ligne de A
A(:,3) Obtenir la troisième colonne de A
A(6, 2:5) Obtenir les éléments 2 à 5 de la sixième ligne de A
A(:,[1  7])=A(:,[7  1]) Échanger la première et la septième colonnes
a:b [a, a+1, a+2, ..., a+n] avec a+n ≤ b
a:ds:b Créer un vecteur à intervalles réguliers avec un pas de ds
linspace(a,b,n) Créer un vecteur de n valeurs également espacées
logspace(a,b,n) Créer un vecteur de n valeurs espacées logarithmiquement
zeros(m,n) Créer une matrice m × n de zéros
ones(m,n) Créer une matrice m × n de uns
eye(n) Créer une matrice identité n × n
A-diag(x) Créer une matrice diagonale à partir d’un vecteur
x=diag(A) Extraire les éléments diagonaux d’une matrice
meshgrid(x,y) Créer des grilles 2D et 3D
rand(m,n), randi Créer des nombres aléatoires uniformément distribués parmi les entiers
randn(m,n) Créer des nombres aléatoires distribués normalement

Opérateurs et caractères spéciaux

+, -, *, / Opérations mathématiques sur matrices
.*, ./ Multiplication et division de tableaux (élément par élément)
^, .^ Puissance de la matrice et du tableau
\ Division gauche ou optimisation linéaire
.', ' Transposée simple et transposée conjuguée complexe
==, ~=, <, >, <=, >= Opérateurs relationnels
&&, ||, ~, xor Opérations logiques (AND, NOT, OR, XOR)
; Supprimer l’affichage de la sortie
... Relier des lignes (avec retour à la ligne)
% Description Commentaire
'Hello' Définition d’un vecteur de caractères
"This is a string" Définition d’une chaîne de caractères
str1 + str2 Concaténer des chaînes de caractères

Variables et constantes spéciales

ans Dernière réponse obtenue
pi π=3,141592654… 
i, j, 1i, 1j Unité imaginaire
NaN, nan Pas un nombre (par exemple, division par zéro)
Inf, inf Infini
eps Précision relative en virgule flottante

Nombres complexes

i, j, 1i, 1j Unité imaginaire
real(z) Partie réelle d’un nombre complexe
imag(z) Partie imaginaire d’un nombre complexe
angle(z) Angle de phase en radians
conj(z) Conjugué complexe élément par élément
isreal(z) Déterminer si un tableau est réel

Fonctions élémentaires

sin(x), asin Sinus et sinus inverse (argument en radians)
sind(x), asind Sinus et sinus inverse (argument en degrés)
sinh(x), asinh Sinus hyperbolique et inverse (argument en radians)
De même pour les autres fonctions trigonométriques : cos, tan, csc, sec et cot
abs(x) Valeur absolue de x, module complexe
exp(x) Exponentielle de x
sqrt(x), nthroot(x,n) Racine carrée, racine réelle n-ième des nombres réels
log(x) Logarithme népérien de x
log2(x), log10 Logarithme en base 2 et 10, respectivement
factorial(n) Factorielle de n
sign(x) Signe de x
mod(x,d) Reste après division (modulo)
ceil(x), fix, floor Arrondir vers +∞, 0 et −∞
round(x) Arrondir au décimal ou à l’entier le plus proche

Tracés

plot(x,y,LineSpec)
Styles de ligne : -, --, :, -.
Marqueurs : +, o, *, ., x, s, d
Couleurs : r, g, b, c, m, y, k, w
Tracer y en fonction de x
(LineSpec est facultatif)
LineSpec est une combinaison de linestyle, marker et color sous forme de chaîne de caractères.
Exemple : « -r » = ligne rouge continue sans marqueurs
title("Title") Ajouter un titre au tracé
legend("1st", "2nd") Ajouter une légende aux axes
x/y/zlabel("label") Ajouter une étiquette à l’axe x, y ou z
x/y/zticks(ticksvec) Obtenir ou définir les graduations des axes x, y ou z
x/y/ztickangle(angle) Faire pivoter les étiquettes des graduations des axes x, y ou z
x/y/zlim Obtenir ou définir les limites des axes x, y ou z
axis(lim), axis style Définir les limites et le style des axes
text(x,y,"txt") Ajouter du texte
grid on/off Afficher la grille
hold on/off Conserver le tracé courant lors de l’ajout de nouveaux tracés
subplot(m,n,p),
tiledlayout(m,n)
Créer des axes dans des positions organisées
yyaxis left/right Créer un second axe y
figure Créer une fenêtre de figure
gcf, gca Obtenir la figure courante, obtenir l’axe courant
clf Effacer la figure courante
close all Fermer les figures ouvertes

Tables

table(var1,...,varN) Créer une table à partir des données contenues dans les variables var1, ..., varN
readtable("file") Créer une table à partir d’un fichier
array2table(A) Convertir un tableau numérique en table
T.var Extraire les données de la variable var
T(rows,columns),
T(rows,["col1","coln"])
Créer une nouvelle table avec les lignes et colonnes spécifiées à partir de T
T.varname=data Affecter des données à une (nouvelle) colonne de T
T.Properties Accéder aux propriétés de T
categorical(A) Créer un tableau catégoriel
summary(T), groupsummary Afficher un résumé de la table
join(T1, T2) Joindre des tables ayant des variables communes

Tâches (Live Editor)

Les tâches du Live Editor sont des applications qui peuvent être ajoutées à un live script pour effectuer un ensemble spécifique d'opérations. Les tâches représentent une série de commandes MATLAB. Pour voir les commandes exécutées par une tâche, affichez le code généré.

Tâches courantes disponibles depuis l’onglet Live Editor dans la barre d’outils du desktop :

  • Nettoyer les données manquantes
  • Trouver des points de changement
  • Supprimer les tendances
  • Nettoyer les valeurs aberrantes
  • Trouver des extrema locaux
  • Lisser les données

Méthodes de programmation

Fonctions
% Save your function in a function file or at the end 
% of a script file. Function files must have the 
% same name as the 1st function 
function cavg = cumavg(x) %multiple args. possible
 cavg=cumsum(x)./(1:length(x)) ; 
end
Fonctions anonymes
% defined via function handles 
fun = @(x) cos(x.^2)./abs(3*x);

Structures de contrôle

if, elseif, Conditions
if n<10
 disp("n smaller 10") 
elseif n<=20 
 disp("n between 10 and 20") 
else 
 disp("n larger than 20")
Switch Case
n = input("Enter an integer: "); 
switch n 
 case -1
 disp("negative one")
 case {0,1,2,3} % check four cases together 
 disp("integer between 0 and 3") 
 otherwise
 disp("integer value outside interval [-1,3]") 
end % control structures terminate with end
Boucle for
% loop a specific number of times, and keep
% track of each iteration with an incrementing
% index variable 
for i = 1:3 
 disp("cool"); 
end % control structures terminate with end
Boucle while
% loops as long as a condition remains true 
n = 1; 
nFactorial = 1; 
while nFactorial < 1e100 
 n = n + 1; 
 nFactorial = nFactorial * n; 
end % control structures terminate with end

Autres commandes de programmation/contrôle

break Mettre fin à l’exécution d’une boucle for ou while
continue Passer le contrôle à l’itération suivante d’une boucle
try, catch Exécuter des instructions et intercepter les erreurs

Méthodes numériques

fzero(fun,x0) Racine d’une fonction non linéaire
fminsearch(fun,x0) Trouver le minimum d’une fonction
fminbnd(fun,x1,x2) Trouver le minimum de fun sur l’intervalle [x1, x2]
fft(x), ifft(x) Transformée de Fourier rapide et son inverse

Intégration et dérivation

integral(f,a,b) Intégration numérique (fonctions analogues pour les cas 2D et 3D)
trapz(x,y) Intégration numérique par la méthode des trapèzes
diff(X) Différences et dérivées approchées
gradient(X) Gradient numérique
curl(X,Y,Z,U,V,W) Rotationnel et vitesse angulaire
divergence(X,...,W) Calculer la divergence d’un champ vectoriel
ode45(ode,tspan,y0) Résoudre un système d’EDO non raides
ode15s(ode,tspan,y0) Résoudre un système d’EDO raides
deval(sol,x) Évaluer la solution d’une équation différentielle
pdepe(m,pde,ic,...bc,xm,ts) Résoudre une équation aux dérivées partielles 1D
pdeval(m,xmesh,...usol,xq) Interpoler la solution numérique d'une EDP

Interpolation et polynômes

interpl(x,v,xq) Interpolation 1D (fonctions analogues pour 2D et 3D)
pchip(x,v,xq) Interpolation polynomiale cubique d'Hermite par morceaux
spline(x,v,xq) Interpolation de données par spline cubique
ppval(pp,xq) Évaluer un polynôme par morceaux
mkpp(breaks, coeffs) Créer un polynôme par morceaux
unmkpp(pp)  Extraire les détails d’un polynôme par morceaux
poly(x) Polynôme défini par des racines x
polyeig(A0,A1,...,Ap) Valeurs propres pour un problème polynomial
polyfit(x,y,d) Ajustement de courbes polynomiales
residue(b,a) Développement/décomposition en fractions partielles
roots(p) Racines d’un polynôme
polyval(p,x) Évaluer le polynôme p en des points x
polyint(p,k) Intégration d’un polynôme
polyder(p) Différentiation d’un polynôme

Matrices et tableaux

length(A) Longueur de la plus grande dimension d’un tableau
size(A) Dimensions d’un tableau
numel(A) Nombre d’éléments dans un tableau
sort(A) Trier les éléments d’un tableau
sortrows(A) Trier les lignes d’un tableau ou d’une table
flip(A) Inverser l’ordre des éléments d’un tableau
squeeze(A) Supprimer les dimensions de longueur 1
reshape(A,sz) Redimensionner un tableau
repmat(A,n) Répéter des copies d’un tableau
any(A), all Vérifier si certains/tous les éléments sont non nuls
nnz(A) Nombre d’éléments non nuls d’un tableau
find(A) Indices et valeurs des éléments non nuls

Statistiques descriptives

sum(A), prod Somme ou produit (le long des colonnes)
max(A), min, bounds Éléments maximum et minimum
mean(A), median, mode Opérations statistiques
std(A), var Écart-type et variance
movsum(A,n), movprod, movmax, movmin, movmean, movmedian, movstd, movvar Fonctions statistiques mobiles (n = longueur de la fenêtre glissante)
cumsum(A), cumprod, cummax, cummin Fonctions statistiques cumulatives 
smoothdata(A) Lisser les données bruitées.
histcounts(X) Calculer le nombre d’occurrences par intervalles dans un histogramme
corrcoef(A), cov Coefficients de corrélation, covariance
xcorr(x,y), xcov Corrélation croisée, covariance croisée
normalize(A) Normaliser les données
detrend(x) Supprimer la tendance polynomiale
isoutlier(A) Identifier les valeurs aberrantes dans des données

Algèbre linéaire

rank(A) Rang d’une matrice
trace(A) Somme des éléments diagonaux d’une matrice
det(A) Déterminant d’une matrice
poly(A) Polynôme caractéristique d’une matrice
eig(A), eigs Valeurs propres et vecteurs propres d’une matrice (sous-ensemble)
inv(A), pinv Inverse et pseudo-inverse d’une matrice
norm(x) Norme d’un vecteur ou d’une matrice
expm(A), logm(A) Exponentielle et logarithme d’une matrice
cross(A,B) Produit vectoriel
dot(A,B) Produit scalaire
kron(A,B) Produit tensoriel de Kronecker
null(A) Noyau d’une matrice
orth(A) Base orthonormée de l’image d’une matrice
tril(A), triu Partie triangulaire inférieure et supérieure de la matruice
linsolve(A,B) Résoudre un système linéaire de la forme AX=B
lsqminnorm(A,B) Solution en moindres carrés d’une équation linéaire
svd(A) Décomposition en valeurs singulières
gsvd(A,B) Décomposition en valeurs singulières généralisée
rref(A) Forme échelonnée réduite par lignes d’une matrice

Mathématiques symboliques*

sym x, syms x y z Déclarer une variable symbolique
eqn = y == 2*a + b Définir une équation symbolique
solve(eqns,vars) Résoudre une expression symbolique par rapport à une variable
subs(expr,var, val) Substituer une variable dans une expression
expand(expr) Développer une expression symbolique
assume(var, assumption) Définir une hypothèse pour une variable
assumptions(z) Afficher les hypothèses associées à un objet symbolique
fplot(expr), fcontour, fsurf, fmesh, fimplicit Fonctions de traçage pour un objet symbolique
diff(expr,var,n) Dériver une expression symbolique
dsolve(deqn,cond) Résoudre une équation différentielle de manière symbolique
int(expr,var,[a, b]) Intégrer une expression symbolique
taylor(fun,var,z0) Développement de Taylor d’une fonction

*nécessite Symbolic Math Toolbox