Fonctions utiles pour la manipulation des matrices

Cours Matlab fonctions utiles pour la manipulation des matrices, tutoriel & guide de travaux pratiques en pdf.

Aide Matlab

Dérivation

On évitera autant que possible la fonction diff qui dérive en faisant la différence entre éléments voisins dans le tableau des valeurs expérimentales, toujours faussées par le bruit.
Il est plus astucieux de remplacer la courbe par une bonne approximation polynomiale avec polyfit et de dériver celle-ci avec polyder.

Equations différentielles

De nombreux systèmes physiques sont décrits par des équations différentielles, linéaires ou non. Pour intégrer une équation différentielle d’ordre n, on se ramène à un système de n équations du premier ordre, ce qui permettra d’utiliser les fonctions ode23 ou ode45 (ordinary differential equations) qui fourniront la solution cherchée.
Exemple : on veut résoudre l’équation de Van der Pol d2x/dt2 – m(1-x2)dx/dt + x = 0.
Elle représente un système du second degré dont l’amortissement est non linéaire.
On pose y1 = x et y2 = dx/dt, d’où le système équivalent:       dy1/dt = y2 dy2/dt = m(1-y12)y2 – y1
Pour m = 2, on programme :
function yprime =vdpol(t,y); m = 2; yprime = [y(2); m*(1-y(1).^2)*y(2) – y(1)];
On remarque que yprime est un vecteur colonne à deux éléments qui décrit complètement l’équation différentielle.
Le programme suivant calcule la solution :
[t,y] = ode23(‘vdpol’,[0,30],[0;0.01]); %utiliser help pour les arguments
y1 = y(:,1)% y(:,n) récupère la nème colonne de y, donc x
plot(t,y1) % trace x en fonction du temps.

LE GRAPHISME A DEUX DIMENSIONS

Matlab propose de nombreuses fonctions graphiques. Nous donnons ici les plus utilisées avec un minimum d’explications. Utilisez help pour en savoir plus.

La fonction plot

plot permet de tracer une ou plusieurs courbes sur le même graphe, en choisissant le style du trait et sa couleur et en marquant les points du tableau des valeurs si on le désire.
ex :  x = linspace(0,2*pi,30);
y = sin(x); z = cos(x);
plot(x,y,’g:’,x,z,’r–’,x,y,’mo’,x,z,’c+’);

Les commandes grid, xlabel, ylabel et text

grid on met la grille sur le graphe tracé par plot. grid off efface la grille.
xlabel et ylabel écrivent du texte le long de l’axe correspondant.
text(x,y,’string’) écrit la chaîne de caractères string aux coordonnées x,y du graphe.
gtext(‘string’) donne un curseur qu’on amène à l’endroit où on désire placer le texte. Celui ci s’écrit quand on clique la souris.

La commande axis

axis([xmin,xmax,ymin,ymax]) impose les échelles en x et y.
axis(’square’) présente le graphe dans un carré au lieu du rectangle habituel.

Les commandes figure, hold, close….

La commande figure est très riche en possibilités. Elle permet de créer une figure. La commande set permet d’agir sur tous les paramètres. Voici un exemple d’utilisation :
t=linspace(0,10,100)
close
figure(1);
set(1,’position’,[0 0 300 300]);
plot(t,sin(t),’y’);grid;
title(‘commande’);
figure(2);
set(2,’position’,[320 0 300 300]);
plot(t,(sin(t)).^2,’c’);grid;
title(‘sortie processus’);
hold on permet de tracer plusieurs courbes sur la figure courante, jusqu’à la commande hold off qui permettra de changer.
close(n) permet de fermer la fenêtre graphique n.
Exercice 6 (fichiers x0_6.m et f0_6.m)
On considère la fonction y = 1 – exp(-z.w.t).((z/m).sin(wp.t) + cos(wp.t)) avec m = (1-z²)1/2 et wp = m.w pour w = 6.28 rad/s.
Ecrire le fichier f0_6.m qui contiendra la fonction f0_6(t,z). Ecrire ensuite x0_6.m utilisant f0_6 pour représenter sur le même graphique les courbes représentatives de cette fonction pour les valeurs de z suivantes : 0.1, 0.3, 0.45 et 0.8 pour t variant de 0 à 5s. Indiquer la valeur de z à côté de chaque courbe, prendre une couleur différente pour chaque courbe et mettre comme titre « Réponse indicielle d’un second ordre ».
voir figure, hold on, hold off, feval, num2str, xlabel, ylabel, title, gtext, grid.
Exercice 7 (fichier x0_7.m)
Modifier le programme précédent afin de pouvoir rentrer au clavier les valeurs de z. voir input.
Exercice 8 (fichier x0_8.m)
Modifier le programme de l’exercice 6 pour mesurer le temps de réponse à 5% de chaque courbe, temps à partir duquel la valeur de y sera toujours comprise entre 0.95 et 1.05. voir ginput.
Exercice 9 (fichiers x0_9.m et f0_9.m)
On considère le système décrit par l’équation différentielle suivante, x étant la sortie et u l’entrée du système
d2x/dt2 + 2z w dx/dt + w2 x = w2 u(t)
On considère le cas où u(t) est constante et égale à 1 et où w=6.28 rad/s.
Ecrire la fonction yprime = f0_9(t,y) qui décrit l’équation ci-dessus puis écrire x0_9.m qui intègre l’équation avec ode23 et donne une représentation graphique de la solution.
Modifier ensuite ce programme pour tracer sur le même graphe les solutions correspondant à z = 0.25, 0.50, 0.75 et 1 avec une couleur différente pour chaque courbe.
voir global, ode23.

LIRE AUSSI :  Traitement d’images sous Matlab

1. L’AIDE EN LIGNE
2. TABLEAUX ET MATRICES
2.1 Définir une matrice
2.2 Addition et multiplication matricielles
2.3 Inversion d’une matrice
2.4 Opérations élément par élément
2.5 Fonctions utiles pour la manipulation des matrices
3. PROGRAMMATION ET M-FILE FUNCTIONS
3.1 Boucles for
3.2 Boucles while
3.3 Structure if else end
3.4 Les fonctions
4. ANALYSE DE DONNEES
5. LES POLYNOMES
5.1 Racines d’un polynôme
5.2 Addition
5.3 Multiplication
5.4 Division
5.5 Dérivation
5.6 Evaluation
6. ANALYSE NUMERIQUE
6.1 Tracé graphique
6.2 Minimum d’une fonction
6.3 Zéro d’une fonction
6.4 Intégration
6.5 Dérivation
6.6 Equations différentielles
7. LE GRAPHISME A DEUX DIMENSIONS
7.1 La fonction plot
7.2 Les commandes grid, xlabel, ylabel et text.
7.3 La commande axis
7.4 Les commandes figure, hold, close
8. EXERCICES D’APPLICATION
9. AIDE MATLAB 4
9.1 OPERATORS AND SPECIAL CHARACTERS
9.2 LOGICAL CHARACTERISTICS
9.3 ELEMENTARY MATH FUNCTIONS
9.4 NONLINEAR NUMERICAL METHODS
9.5 ELEMENTARY MATRICES AND MATRIX MANIPULATION
9.6 SPECIALIZED MATRICES
9.7 GENERAL PURPOSE GRAPHICS FUNCTIONS
9.8 TWO DIMENSIONAL GRAPHICS.
9.9 THREE DIMENSIONAL GRAPHICS
9.10 MATRIX FUNCTIONS NUMERICAL LINEAR ALGEBRA
9.11 POLYNOMIAL AND INTERPOLATION FUNCTIONS
9.12 DATA ANALYSIS AND FOURIER TRANSFORM FUNCTIONS
9.13 SOUND PROCESSING FUNCTIONS
9.14 CHARACTER STRING FUNCTIONS
9.15 SPECIALIZED MATH FUNCTIONS
9.16 SPARSE MATRIX FUNCTIONS
9.17 LANGUAGE CONSTRUCTS AND DEBUGGING
9.18 COLOR CONTROL AND LIGHTING MODEL FUNCTIONS
9.19 LOW-LEVEL FILE I/O FUNCTIONS
9.20 GENERAL PURPOSE COMMANDS

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *