Formation Matlab, tutoriel & guide de travaux pratiques en pdf.
Résolution de systèmes
Décompositions de matrice
Matlab permet de séparer des matrices selon plusieurs d´ecompositions tels que LU, QR, SVD, etc.
% — Décomposition de matrice ————————————————————- %
A = [ 1 2 3; % D´efinition de A 4 5 6; 7 8 9];
[L U] = lu(A) % D´ecomposition LU
[Q R] = qr(A) % D´ecomposition QR
[U S V] = svd(A) % D´ecomposition USV
Valeurs et vecteurs propres
Voici comment demander `a Matlab de d´eterminer les valeus propres et les vecteurs propres d’une matrice.
% — Valeurs et vecteurs propres ———————————————————-%
A = [ 1 2 3; % D´efinition de A 4 5 6; 7 8 9];
[VecA, ValA] = eig(A) % Renvoie les valeurs et vecteurs propres
Déterminant
Pour connaître le d´eterminant d’une matrice, il suffit d’utiliser la commande det
% — Valeurs et vecteurs propres ———————————————————-%
A = [ 1 2 3; % D´efinition de A 4 5 6; 7 8 9];
det(A) % D´eterminant de la matrice A % ans = 0
Simplification d’´equations
Matlab dispose de fonctions permettant la simplification d’´equations symboliques. Pour se faire, il suffit de d´eclarer les diff´erents symboles via la commande syms et ensuite de donn´ees `a la fonction simple l’´equation.
% — Simplification d’´equations ———————————————————– %
syms x; % D´eclaration des symboles f = cos(x)ˆ2 + sin(x)ˆ2; % Fonction `a simplifier f = simple(f) % Simplification % f = % 1
syms x; % D´eclaration des symboles g = cos(3*acos(x)); % Fonction `a simplifier g = simple(g) % Simplification % g = % 4*xˆ3-3*x
Résolution symbolique
Dérivées et intégrales
Matlab est capable de dériver ou d’intégrer des expressions symboliques. Pour ce faire, il faut d´eclarer les symboles via la commande sims.Il est aussi possible de forcer Matlab `a d´eriver par rapport à une variable pr´ecise en l’ajoutant en argument `a la fonction
% — Dérivée symbolique —————————————————————– %
syms x; % D´eclaration des symboles diff(sin(xˆ2)) % D´erivation symbolique % ans = % 2*x*cos(x ˆ2)
% — Dérivée symbolique six fois ——————————————————- %
syms t; % Déclaration des symboles diff(tˆ6,6) % Dérivation symbolique % ans = % 720)
% — Dérivée symbolique par rapport `a une variable pr´ecise ———————– %
syms x t; % D´eclaration des symboles diff(sin(x*tˆ2), t) % D´erivation symbolique % ans = % 2*t*x*cos(tˆ2*x))
% — Int´egrale symbolique —————————————————————— %
syms x; % D´eclaration des symboles int(-2*x/(1 + xˆ2)ˆ2) % Int´egrale symbolique % ans = % 1/(xˆ2 + 1)
% — Int´egrale symbolique par rapport `a z ——————————————— %
syms x z; % D´eclaration des symboles int(x/(1 + zˆ2), z) % Int´egrale symbolique % ans = % x*atan(z)
% — Int´egrale de 0 a` 1 ——————————————————————- %
syms x; % D´eclaration des symboles int(x*log(1 + x), 0, 1) % Int´egrale symbolique % ans = % 1/4
% — Int´egrale symbolique de sin(t) `a 1 – ———————————————- %
syms x t; % D´eclaration des symboles int(2*x, sin(t), 1) % Int´egrale symbolique % ans = % cos(t)ˆ2
Equations et systèmes
Pour résoudre symboliquement une équation ou un système d’équations, il faut tout d’abord déclarer les symboles via syms. Une fois fait, la commande solve permet de résoudre les équations.
Par défaut, Matlab définis des priorités dans les symboles pour déterminer par rapport à quel symbole il va résoudre. Cependant, il est possible d’imposer le symbole comme montr´e ci-dessous en passant un argument supplémentaire `a la fonction.
% — Résolution symbolique —————————————————————- %
syms a b c x; % D´efinition des symboles solve(’a*xˆ2 + b*x + c’) % R´esolution % ans = % -1/2*(b-(bˆ2-4*a*c)ˆ(1/2))/a % -1/2*(b+(bˆ2-4*a*c)ˆ(1/2))/a
syms t m; % D´efinition des symboles solve(’sin(t + m)’) % R´esolution % ans = % -m
syms a b c x; % D´efinition des symboles solve(’a*xˆ2 + b*x + c’,’b’) % R´esolution pour la variable b % ans = % -(a*xˆ2+c)/x
Résolution de systèmes linéaires
Voici comment résoudre un systéme linéaire. Dans ce cas-ci, l’intersection de deux droites.
% — Résolution d’un systéme ————————————————————– %
syms x; % Définition des symboles S = solve(’x + 2*y = 1’,’x – 1*y = 5’);; % R´esolution S = [S.x S.y]; % R´ecup´eration des solutions % S = % [ 11/3, -4/3]
Résolution symbolique de systèmes linéaires
Matlab permet aussi de résoudre symboliquement des systémes linéaires. Il faut bien entendu commencer par préciser les symboles via la commande syms.
% — Résolution symbolique de systéme param´etrique —————————————- %
syms a x; % Définition des symboles S = solve(’x + a*y = 1’,’x – 1*y = 5’); % Résolution S = [S.x S.y] % Récupération des solutions % S = % [ (1+5*a)/(1+a), -4/(1+a)]
3.8 Résolution d’équations différentielles
Matlab permet la résolution d’équations différentielles que l’on dispose de conditions initiales ou non.
% — Résolution d’équations différentielles 1 —————————————————– %
dsolve(’Dy = a*y’, ’y(0) = b’) % % ans = % b*exp(a*t)
% — Résolution d’équations différentielles 2 —————————————————– %
dsolve(’D2y = -aˆ2*y’, ’y(0) = 1’, ’Dy(pi/a) = 0’) % % ans = % exp(a*i*t)/2 + 1/(2*exp(a*i*t))
% — R´esolution de systémes d’équations différentielles sans condition initiale ———- %
syms x y; % D´efinition des symboles Z = dsolve(’Dx = y’, ’Dy = -x’); % R´esolution diff´erentielle Z = [Z.x Z.y] % Récup´eration des solutions
% z = % [ C1*sin(t)+C2*cos(t), C1*cos(t)-C2*sin(t)]
% — R´esolution de syst`emes d’´equations diff´erentielles avec conditions initiales ——– %
syms x y; % D´efinition des symboles Z = dsolve(’Dx = y’, ’Dy = -x’,’y(0) = 2,x(0) = 1’); % R´esolution diff´erentielle Z = [Z.x Z.y] % R´ecup´eration des solutions
% z = % [ cos(t)+2*sin(t), -sin(t)+2*cos(t)]
Statistiques
Statistques descriptives
L’ensemble des fonctions suivantes prennent en arguments soit un vecteur, soit une matrice. Dans le cas d’une matrice chaque colonne est traitée comme une variable diff´erente et le r´esultat des fonctions est donc un vecteur.
% — Statistiques descriptives ———————————————————— %
x = [1 5 74; % D´efinition de la matrice 1 5 74; 3 6 10; 5 9 20; 7 8 99];
geomean(x), % Moyenne g´eom´etrique harmmean(x), % Moyenne harmonique mean(x), % Moyenne arithm´etique median(x) % ´El´ement milieu du vecteur trie mode(x), % Valeur la plus fréquente var(x), % Variance (n-1) std(x), % D´eviation standard (n-1) range(x), % Intervalle des valeurs
max(x), % Valeur maximum min(x), % Valeur minimum
prod(x) % Produit des éléments par colonnes sum(x) % Somme des éléments par colonnes sort(x) % Tri par colonnes
Affichage simple de données
Matlab permet l’affichage de nuages de points. Pour ce faire, il faut lui fournir les coordonn´ees des points en deux vecteurs x et y.
Il est de plus possible de classer les points en diff´erents groupes via une troisi`eme matrice. Les points ayant la mˆeme ´etiquette dans cette matrice sont consid´er´es comme faisant partie
du même groupe.
% — Affichage simple de données ——————————————————— %
x = [ 1 2 8 5 7 9 6 4 7 5]; % Coordonn´ee en x des points y = [ 7 5 8 9 4 6 8 2 4 7]; % Coordonn´ee en y des points group = [ 1 2 1 1 2 2 1 2 1 2]; % Regroupement des points gscatter(x,y,group); %