MATLAB Séance 3 PDF
Document Details
Uploaded by EducatedClarity8327
ENSA de Kénitra
Tags
Summary
This document contains MATLAB exercises and solutions. The document includes examples of various MATLAB functions used for calculations and plotting.
Full Transcript
11.12.24 Exercice 1 – solution § Calcule: >> (18+107)/(5*25) 18 + 107 ans = a) 5 ´ 25 1 N. ABOUTABIT 54 Exercice 1 – solution § Calcule: >> s=sum...
11.12.24 Exercice 1 – solution § Calcule: >> (18+107)/(5*25) 18 + 107 ans = a) 5 ´ 25 1 N. ABOUTABIT 54 Exercice 1 – solution § Calcule: >> s=sum(1:100) 100 or b) åi i =0 >> or >> s=sum(1:1:100) Valeur par défaut s=sum(linspace(1,100)) or >> s=sum(linspace(1,100,100)) s = Valeur par défaut 5050 N. ABOUTABIT 55 1 11.12.24 Exercice 1 – solution § Calcule: >> s=0; 10 >> for i=5:10 c) å (i i =5 2 - i) >> >> s=s+i^2-i; end >> s s = 310 N. ABOUTABIT 56 Exercice 2 – solution >> A=[2 -3 -1 4; 2 3 -3 2; 2 -1 -1 -1; 2 -1 2 5]; >> b=[1; 2; 3; 4]; >> x=A\b x = Ax=b 1.9755 0.3627 0.8431 2 x1 - 3 x2 - x3 + 4 x4 = 1 -0.2549 2 x1 + 3 x2 - 3 x3 + 2 x4 = 2 >> A*x 2 x1 - x2 - x3 - x4 = 3 ans = 1.0000 2 x1 - x2 + 2 x3 + 5 x4 = 4 2.0000 3.0000 4.0000 N. ABOUTABIT 57 2 11.12.24 Exercice 3 – iterative solution fibonacci.m: function [v] = Fibonacci(n) v(1) = 0; if ( n>=1 ) v(2) = 1; end for i=3:n+1 v(i) = v(i-1) + v(i-2); end end >> Fibonacci(7) ans = 0 1 1 2 3 5 8 13 N. ABOUTABIT 58 Exercice 3 – recursive solution fibo_rec.m: function f = fibo_rec(n) if n == 0 f(1) = 0; elseif n == 1 f(2) = 1; elseif n > 1 f = fibo_rec(n - 1); f(n + 1) = f(n) + f(n - 1); end end >> fibo_rec(7) ans = 0 1 1 2 3 5 8 13 N. ABOUTABIT 59 3 11.12.24 Graphiques et statistiques dans Matlab N. ABOUTABIT 60 Fonctions statistiques § Les statistiques dans MATLAB peuvent être réalisées à l'aide des commandes suivantes : Valeur moyenne: mean(x) valeur médiane: median(x) Pour les Valeurs min/max: min(x), max(x) vecteurs Ecart type: std(x) Variance: var(x) Pour les Covariance: cov(x) matrices Coefficient de correlation : corrcoef(x) N. ABOUTABIT 61 4 11.12.24 Fonctions statistiques: accent sur la covariance § La Covariance et le coefficient de correlation sont sont liés par une fonction mathématique precise: #$% != #$ #% § Ils experiment le même type d’information, mais le coefficient de correlation est souvent plus utilize. Pourquoi ? N. ABOUTABIT 62 Fonctions de traçage en 2D § Tracé de courbes en 2D (y vs x) dans MATLAB Échelle linéaire : plot(x, y) Échelle Double-logarithmique: loglog(x, y) Échelle Semi-logarithmique: semilogx(x, y) semilogy(x, y) Tracer l’histogram de x: hist(x) N. ABOUTABIT 63 5 11.12.24 Détails de plot § Un paramètre supplémentaire peut être fourni à plot() pour définir l'aspect de la courbe: plot(x, y, 'key') Où la clé est une chaîne qui peut contenir : Codes des couleurs : ‘r’, ‘g’, ‘b’, ‘k’, ‘y’, … Codes des lignes: ‘-’, ‘--’, ‘.-’ (solid, dashed, etc.) Codes des marqueurs : ‘*’, ‘.’, ‘s’, ’x’ Exemples: plot(x, y, ‘r--’) plot(x, y, ‘g*’) * * * * N. ABOUTABIT 64 Introduction to MATLAB ‹N° › Exemple de Plot : ligne >> t = 0:pi/100:2*pi; >> y = sin(t); >> plot(t,y) N. ABOUTABIT 6 11.12.24 Introduction to MATLAB 66 Exemple de Plot: ligne avec détails >> xlabel(‘t’); >> ylabel(‘sin(t)’); >> title(‘le trace de t vs sin(t)’); N. ABOUTABIT Introduction to MATLAB 67 Exemple de Plot : plusieurs courbes >> y2 = sin(t-0.25); >> y3 = sin(t+0.25); >> plot(t,y,t,y2,t,y3) % tracé 2D de 3 courbes >> legend('sin(t)','sin(t-0.25)','sin(t+0.25',1) N. ABOUTABIT 7 11.12.24 Conseils pour le traçage § Pour améliorer l'aspect des tracés, les commandes suivantes peuvent être utilisées : Définir l'étiquette sur l'axe des x : xlabel(‘text’) Définir l'étiquette sur l'axe des y : ylabel(‘text’) Définir le titre : title(‘text’) N. ABOUTABIT 68 Conseils pour le traçage § Deux autres commandes utiles : § hold on|off § grid on|off >> x=[-5:0.1:5]; >> y1=exp(-x.^2); >> y2=2*exp(-x.^2); >> y3=exp(-(x.^2)/3); N. ABOUTABIT 69 8 11.12.24 Conseils pour le traçage >> plot(x,y1); >> hold on >> plot(x,y2,’r’); >> plot(x,y3,’g’); N. ABOUTABIT 70 Conseils pour le traçage >> plot(x,y1); >> hold on >> plot(x,y2,’r’); >> plot(x,y3,’g’); >> grid on N. ABOUTABIT 71 9 11.12.24 Subplot() et figure() § subplot(m,n,p) décompose la fenêtre de la figure en une matrice m-par-n et sélectionne le pième objet d'axe pour le tracé en cours. § Les axes sont comptés le long de la première ligne de la fenêtre de la figure, puis de la deuxième ligne, etc. § h = figure(...) ajoute une nouvelle fenêtre à l'écran. Elle renvoie également l'identifiant de cette fenêtre, afin qu'elle puisse être traitée ultérieurement. § Ex.: saveas(h,’myimage.jpg’); N. ABOUTABIT 72 Subplot() au passage … N. ABOUTABIT 73 10 11.12.24 Introduction to MATLAB 74 Personnalisation des effets graphiques En général, les paramètres graphiques par défaut de MATLAB sont adéquats et permettent de réaliser des tracés sans trop d'efforts. Pour obtenir des effets plus personnalisés, utilisez les commandes get et set pour modifier le comportement de propriétés de rendu spécifiques. >> hp1 = plot(1:5) % returns the handle of this line plot >> get(hp1) % to view line plot’s properties and their values >> set(hp1, ‘lineWidth’) % show possible values for lineWidth >> set(hp1, ‘lineWidth’, 2) % change line width of plot to 2 >> gcf % returns current figure handle >> gca % returns current axes handle >> get(gcf) % gets current figure’s property settings >> set(gcf, ‘Name’, ‘My First Plot’) % Figure 1 => Figure 1: My First Plot >> get(gca) % gets the current axes’ property settings >> figure(1) % create/switch to Figure 1 or pop Figure 1 to the front >> clf % clears current figure >> close % close current figure; “close 3” closes Figure 3 >> close all % close all figures N. ABOUTABIT Introduction to MATLAB 75 Graphique à barres en 2D >> x = magic(3); % générer des données pour un graphique à barres >> bar(x) % créer un diagramme à barres >> grid % ajouter une grille pour plus de clarté N. ABOUTABIT 11 11.12.24 Introduction to MATLAB 76 Tracé de Surface >> Z = peaks; % generate data for plot; peaks returns function values >> surf(Z) % surface plot of Z Essayez également ces commandes : >> shading flat >> shading interp >> shading faceted >> grid off >> axis off >> colorbar >> colormap(‘winter’) >> colormap(‘jet’) N. ABOUTABIT Exercice: § Statistiques: Générer un vecteur de N nombres aléatoires avec randn(N,1). Calculer la moyenne et l'écart-type. La moyenne et l'écart-type convergent-ils vers certaines valeurs pour un nombre croissant de N ? Affichez l'histogramme et comparez les résultats des deux commandes suivantes: § hist(randn(N,1)) § hist(rand(N,1)) N. ABOUTABIT 77 12