MATLAB TP 𝑵 1 𝒐 02 novembre 2021 Imen KHETTABI Email: [email protected] Université des Sciences et de la Technologie Houari Boumediene, Faculté des Mathématiques. Année Universitaire 2021-2022 1 C'est quoi Matlab? ❑ Matlab est une abréviation de MATrix LABoratory. C'est un environnement destiné au calcul numérique matriciel et à la visualisation. ❑ En d'autre mot, on peut le considérer comme étant une calculatrice scientifique évoluée avec des variables du types matriciels. ❑ Ce langage est conçu avec le langage C, donc il peut être utilisé avec pas mal de langage tel que : le C, C++, Java… 2 Matlab est un langage de programmation et un environnement de développement qui va nous permettre de: ✓ ✓ ✓ ✓ Manipuler sur les matrices Créer des applications, des interfaces graphiques. Afficher des courbes et des données . Mettre en œuvre des algorithmes 3 4 Généralités dans Matlab: - Déclaration d'une variable: lettre + nombre quelconque de lettres, chiffres ou _ Exemple: ✓ x_min, X55a, section_a_groupe_2_et_3 × noms non valides : 86ab, ro-2 - Matlab fait la différence entre minuscule et majuscule Exemple: la variable abc est différente de la variable Abc - Les noms de toutes les constantes et fonctions prédéfinies Matlab sont en minuscules 5 Les commandes de base: ● Scalaire X=3 ● Vecteur vect=[1 2 3 4] ou vect=[1,2,3,4] 6 ● Matrice matrix=[2 4 6; 3 5 7; 8 1 3] ou matrix =[2,4,6; 3,5,7; 8,1,3] 7 Calcules de base: Calcules de base: Les opérateurs de base mathématiques(Addition, Soustraction, Produit, Division) Puissance Produit élément par élément Division élément par élément Puissance élément par élément Transposé d'un vecteur ou d'une matrice +, - , * , / ^ .* ./ .^ ' 8 Quelques fonctions de base: Fonction de base: Racine de x Moyenne de x Sqrt(x) mean(x) Valeur absolu de x abs(x) Somme des éléments de x sum(x) Produit des éléments de x prod(x) Langueur de x Length(x) Norme de x Norm(x) Taille de la matrice A size(A) 9 Opérateurs logiques: Opérateurs logiques: égal à Ou == | (altgr+6) Et & La Différence ~= 10 Boucles et structures de conditionnement Structure de conditionnement Conditionnement par « if » if conditions 1 Bloc d'instructions 1 elseif condition 2 Bloc d'instructions 2 . . . else Bloc d'instruction n end 11 Boucles et structures de conditionnement Structure de conditionnement Conditionnement par « switch » Switch var Case const 1, Séquence d'instruction 1 Case const 2, Séquence d'instruction 2 . . . Case const n, Séquence d'instruction n otherwise Séquence d'instruction par défaut end 12 Boucles et structures de conditionnement Boucle « for » for i = j : k Bloc d'instruction end Boucle « while » while expression logique Bloc d'instruction end 13 Opérations sur les vecteurs et les matrices: ● Création d'un vecteur à partir de plusieurs vecteurs: 14 Opérations sur les vecteurs et les matrices: ● Création d'une matrice à partir de plusieurs matrices: Ou 15 Opérations sur les vecteurs et les matrices: ● Obtention de quelques éléments d'un vecteur 16 Opérations sur les vecteurs et les matrices: ● Obtention de quelques sous-matrices et vecteurs d'une matrices 17 Générations de matrices usuelles ● Pour générer une matrice identité: il suffit d'utiliser la fonction « eye» en précisant la taille de la matrice. ● Pour générer une matrice unitaire: il suffit d'utiliser la fonction « ones» en précisant le nombre de lignes et de colonnes. 18 Générations de matrices usuelles ● Pour générer une matrice de zeros: il suffit d'utiliser la fonction « zeros» en précisant le nombre de lignes et de colonnes ● Pour générer une matrice ne contenant qu'un certain scalaire: Ou 19 C'est quoi un script sous Matlab? ❑ Un script sous Matlab est un programme ''un ensemble d'instruction'' enregistrer sous un nom. Comment créer un script? ❑ Fichier New M-file ❑ Certaines versions de Matlab permettent de choisir directement ''Script''. 20 Comment exécuter un script? 3 2 Création du script 1 4 affichage du résultat 21 C'est quoi une fonction sous Matlab? ❑ Une fonction sous Matlab est un ensemble d'instructions regroupé dans une structure disposant d'une entête qui lui permet d'avoir des variables d'entrées (les données) et des variables de sortie (les résultats). ❑ Le principe d'une fonction est d'effectuer des opérations à partir d'une ou de plusieurs entrées et fournir une ou plusieurs sorties. Nom de la fonction function [P,S]=produit_et_somme_vecteur [v] Sorties Entrée 22 Comment créer une fonction? ❑ Fichier New M-file ❑ Certaines versions de Matlab permettent de choisir directement l'option ‘’function''. Exemple: function [P,S]=produit_et_somme_vecteur [v] P=1; S=0; For i=1:length(v) P=P*v(i) S=S+v(i) end 23 Comment exécuter une fonction? 2 Création de fonction 4 1 affichage du résultat 24 Remarques importantes: ❑ Il faut enregistrer les fonctions et les scripts dans le même dossier sur lequel est réglé le chemin d'accès ❑ Le '' end '' de la fonction est facultatif ❑ Le nom du fichier doit être identique au nom de la fonction ❑ Ne pas nommer les fonctions en utilisant des noms composés de plusieurs mots séparés par des espaces comme l'expression: '' produit de vecteur'' ❑ Ne pas nommer les fonctions par des tirets de six (-) comme l'expression: '' produit-de-vecteur'' 25 Les représentations graphiques Graphique en 2D: o Afin de dessiner un graphe sous Matlab, il est possible d'utiliser plusieurs fonctions prédéfinies: plot, fplot. o La fonction plot(x,y) trace le graphe de y en fonction x, o Le graphe obtenue marquera un point pour chaque couple [x(i),y(i)] avec i allant de 0 à length(x). on représente les valeurs de y en fonction des valeurs de x. o La fonction hist pour dessiner un histogramme et la fonction pie pour dessiner un diagramme. 26 Graphique en 3D: o Afin de dessiner un graphe sous Matlab en 3D,nous utilisons la fonction prédéfinie plot3(x,y,z) o Remarque: Les possibilités de personnalisation des axes sont les mêmes que celles de plot Dessin de plusieurs graphes superposés: Synatxe 1: hold on plot(x) plot(y) plot(x,y) . . hold off Syntaxe 2: plot(x) hold on plot(y) . . hold on plot(x,y) 27 Mise en forme de graphiques: Pour afficher le titre du graphe: title('le titre de notre graphe') Pour afficher axe des x comme titre pour l'axe des x: xlabel('axe des x') Pour afficher axe des y comme titre pour l'axe des y: ylabel('axe des y') Dessin de plusieurs graphes sur une fenêtre graphique subdivisée Nous utilisant la fonction prédéfinie subplot(n,m,p), on a n est le nombre de sous graphe en lignes, m est le nombre de sous graphes en colonnes et enfin p est la position d'un sous graphe dans la fenêtre. 28 Exemple 2D: >>x=0:0.05:5; y=sin(x.^2); plot(x,y) title('présentation graphique en 2D’); xlabel('Les valeurs de x’); ylabel('Les valeurs de y’); grid; 29 Exemple 3D: >> t = linspace(0,10*pi,500); x = cos(t) ; y = sin(t) ; plot3(x,y,t) ; title('presentation graphique en 3D') ; xlabel('Les valeurs de t'); ylabel('Les valeurs de x'); zlabel('Les valeurs de y'); grid; 30 Exemple de plusieurs graphes sur une fenêtre graphique subdivisée >> subplot(2,2,1),fplot('cos(x) ',[2*pi,2*pi]),title('cos x'),xlabel('axe des x'),ylabel('axe des y’); grid >> subplot(2,2,2),fplot('sin(x) ',[2*pi,2*pi]),title('sin x'),xlabel('axe des x'),ylabel('axe des y’); grid >> subplot(2,2,3),fplot('acos(x)',[1,1]),title('acos x'),xlabel('axe des x'),ylabel('axe des y’); grid >> subplot(2,2,4),fplot('asin(x) ',[1,1]),title('asin x'),xlabel('axe des x'),ylabel('axe des y'); grid 31