TP1 Commande numérique TP1 : Initiation à MATLAB I. Présentation de MATLAB MATL
TP1 Commande numérique TP1 : Initiation à MATLAB I. Présentation de MATLAB MATLAB est un logiciel interactif conçu pour la résolution des problèmes mathématiques et des problèmes pratiques d’ingénieries : calcul matriciel, traitement de signal, statistiques, automatique… Le nom MATLAB provient de MATrix LABoratory développé par Math Works Inc. Les données de bases sont des matrices qui ne nécessitent aucun dimensionnement, contrairement aux autres langages classiques de programmation. Le logiciel MATLAB est réservé notamment au traitement numérique des signaux, à la modélisation, à la simulation et à la conception des systèmes numériques complexes. MATLAB peut être utilisé en mode programmation, c-à-d il est capable d’exécuter une série de commandes mémorisées ou écrites dans un fichier M-Files défini par l’extension .m . Pour une prise en main rapide de MATLAB, nous allons brièvement introduire quelques fonctions de base. MATLAB (« matrix laboratory ») est un langage de programmation de quatrième génération émulé par un environnement de développement du même nom ; il est utilisé à des fins de calcul numérique. MATLAB permet de manipuler des matrices, d'afficher des courbes et des données, de mettre en œuvre des algorithmes, de créer des interfaces utilisateurs, et peut s’interfacer avec d’autres langages comme le C, C++, Java, et Fortran. Les utilisateurs de MATLAB (environ un million en 20041) sont de milieux très différents comme l’ingénierie, les sciences et l’économie dans un contexte aussi bien industriel que pour la recherche. Matlab est utilisé avec des toolbox (« boîte à outils »). II. Démarrage de MATLAB Pour lancer l’exécution de MATLAB sous Windows, il faut effectuer un double clic sur l’icône de MATLAB. II.1. Quelques commandes utiles - Help : donne en ligne les informations nécessaires sur n’importe quelle commande MATLAB - Demo : lance la démonstration - Who : liste des variables en mémoire - What : liste des M-Files - Size : donne la dimension d’une matrice - Lengh : donne la longueur d’un vecteur - Clear : efface toutes les variables mémorisées lors d’une session - Exit : sortir de MATLAB II.2. Opérations élémentaires + : addition - : soustraction * : multiplication .* : multiplication élément par élément / : division à droite TP1 Commande numérique ./ : division à droite élément par élément ^ : élévation à la puissance .^ : élévation à la puissance élément par élément II.3. Variables spéciales et constantes Inf (infinite) : nombre infini Ans : variable contenant la dernière réponse Pi : 3,14159265358979 i, j : variables complexes II.4. Fonctions arithmétiques Abs : module sqrt : racine carré real : partie réelle ; imag : partie imaginaire angle : la phase ; conj : conjugué rem : reste de la division entière ceil : quotient de la division entière +1 ; round : quotient de la division entière exp, log, log10,… II.5. Fonctions trigonométriques sin, cos, tan, cot, … II.6. Fonctions pour l’analyse des données min, max, mean, std, sum, … II.7. Fichier de commandes et de fonctions MATLAB peut exécuter une séquence d’instructions dans un fichier appelé M (M-File), avec une extension .m. Il y a deux types de fichiers M : les fichiers de commandes et les fichiers de fonctions. Un fichier de commandes est une séquence d’instructions MATLAB. Les fichiers fonctions fournissent une extensibilité à MATLAB. III. Programmation avec MATLAB III.1. Communication avec l’utilisateur On peut afficher un message ou une valeur à l’écran avec l’instruction disp : Exemple : disp (‘ceci est une introduction à MATLAB’) affiche « ceci est une introduction à MATLAB » sur l’écran. On peut faire entrer une valeur avec l’instruction X = input (‘valeur de x=’) affiche sur l’écran « valeur de x= » III.2. Vecteurs et Matrices En fait, toute variable de Matlab est une matrice (scalaire : matrice 1x1, vecteur : matrice 1xN ou Nx1). On peut spécifier directement une matrice sous la forme d'un tableau avec des crochets, l'espace ou la virgule sépare deux éléments d'une même ligne, les points virgules séparent les éléments de lignes distinctes. TP1 Commande numérique 1. Tapez sur matlab la matrice suivante >> A = [ 1, 2, 3 ; 4, 5, 6 ; 7, 8, 9 ] Les éléments d'une matrice peuvent être n'importe quelle expression de Matlab : >> x = [ -1.3, sqrt(3), (1+2+3)*4/5 ] x = -1.3000 1.7321 4.8000 Pour calculer la transposée d’un vecteur x ou d’une matrice A , il faut écrire x1 = x’ A1 = A’ Les vecteurs et les matrices sont les deux modes usuels de représentation des données.ils peuvent être définis de plusieurs manières : a = [0 2.5 8] ou [0,2.5,8] est une matrice 1 ligne, 3 colonnes ; a = [0 ; 2.5 ; 8] une matrice 3 lignes, 1 colonne. Un point virgule termine une ligne. A(i,j) : élément de la matrice A de ligne i, colonne j. A(:,j) : correspond à la colonne n°j A(i,:) : correspond à la ligne n°i X=[1 5 9 13 17] ou [1:4:17] (début:pas:fin) A.^2 donne le carré des éléments de A Certaines fonctions génèrent des matrices : zeros (m,n) : génère une matrice m*n de zéros. ones (m,n) : génère une matrice m*n de 1. eyes (m,n) : identité. 2. Générer une matrice de dimension 4*4 de valeur 1 Les éléments d'une matrice peuvent ensuite être référencés par leurs indices, on utilise alors des parenthèses et non des crochets. Le mot-clé end peut être utilisé en indice pour signifier le dernier élément. On peut effectuer les opérations d’addition, de soustraction, de multiplication sur les vecteurs et les matrices, s’ils ont bien sûr les dimensions adéquates, en utilisant les symboles +, -, * . Le tableau suivant donne quelques fonctions de base pour le calcul matriciel : On peut avoir des informations sur la taille d'une matrice: TP1 Commande numérique >> size(x) >> length(x) % longueur Les opérations usuelles sont définies de façon naturelle pour les matrices : >> 2*A % Produit par un scalaire >> A*B % Produit de deux matrices (de dimensions cohérentes) >> A^p % Elève la matrice carrée A à la puissance p >> inv(A) % Inversion d'une matrice carrée inversible (message d'alerte éventuel) >> A.*B % Produit élément par élément de deux matrices. Attention : A*A est différent de A.*A. >> X = A\B % Donne la solution de A*X = B (équivalent à X = inv(A)*B) >> X = B/A % Donne la solution de X*A = B (équivalent à X = B*inv(A)) >> X = A./B % Division éléments par éléments 3. Générer une matrice quelconque 5*5 et son déterminant, sa trace, son inverse, sa taille, ses valeurs propres, son rang et sa longueur. Pour définir une matrice 1 2 3 4 M M M M M M par bloc, il faut d’abord définir les matrices M1, M2, M3 et M4 puis écrire: M=[M1 M2 ;M3 M4] 4. Tapez sur Matlab le code suivant : Exemple : A=[2 0;1 3] B=[1 1;0 5] C=eye(2) D=ones(2) A1=inv(A) E=[A B;C D] size(E) det(E) rank(E) III.3. Boucle for On peut créer une boucle en utilisant for……end. On peut aussi réaliser des boucles for imbriquées. Boucle for simple: for i=1 :100 X(i)=2*cos(2*pi*i/100) end Deux boucles for : for i=1 :1:4 for j=1:2:4 TP1 Commande numérique a(i,j)=i*j end end 5. Taper sur matlab les deux boucles suivants et indiquez quel est le rôle de chaque code III.4. Ponctuation % : tout ce qui suit cette instruction est considéré comme commentaire et ne sera donc pas exécuté. ; : le résultat d’une instruction MATLAB est affiché à l’écran, sauf si ce signe termine l’instruction. Exemple : essayez a=10*2 puis b=10*2 ; III.5. Variables Avec MATLAB, il n’est plus nécessaire de dimensionner les variables avant de les utiliser. Les variables sont conservées en mémoire jusqu’à ce que l’ordre d’effacement clear soit exécuté. On peut avoir une idée sur les variables en mémoire ainsi que leurs dimensions par l’ordre whos. III.6 Affichage alphanumérique On peut afficher des chaînes de caractères dans la fenêtre de commande : >> message = 'bienvenue sur Matlab'; >> disp(message) Les fonctions sprintf et fprintf existent également (même syntaxe qu'en langage C). >> fprintf('pi vaut %f\n',pi) pi vaut 3.141593. On peut aussi demander des valeurs à l'utilisateur : >> rep = input (' Nombre d’'itération de l’’algorithme : '); Matlab affichera la chaîne de caractère entrée en paramètre et attendra une réponse de l'utilisateur. 6. Taper les instructions précédentes III.7. Représentation graphique Exemple : discrétiser le temps t = [1 :0.1 :16] puis générer un signal sinusoïdal y = sin (2*pi*0.5*t) plot (y) : dessine les points représentant y en lissant la courbe (joindre les points) stem (y) : dessiner les points représentant y. Pour mieux constater la différence entre plot et stem, effectuer une variation du pas. xlabel (‘texte’) : donne un nom aux abscisses ylabel (‘texte’) : donne un nom aux ordonnées title (‘texte’) : donne un titre au graphique 7. Tapez les instructions précédentes et donner vos remarques TP1 Commande numérique axis [xmin xmax ymin ymax] : définit uploads/Industriel/ tp1-initiation-a-matlab-i-presentation-de-matlab.pdf
Documents similaires
-
93
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 23, 2022
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.7730MB