g : la notation la plus compacte entre la notation à virguleflottante et la notation à virgule fixe est utilisée>> x = pi/3; y = sin(x);>> sprintf('sin(%8.6f) = %4.2f', x,y)ans =sin(1.047198) = 0.87>> sprintf('sin(%8.6f) = %4.2E', x,y)ans =exp(1.047198) = 8.66E-01>>4.4.3 Utilisations particulièresLa commande sprintf est vectorielle : si la variable n'est pas scalaire le format d'impression estréutilisé pour tous les éléments <strong>du</strong> tableau, colonne par colonne.>> x = [1 :10];>> sprintf(' %d ,',x)ans =1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ,>>Il est possible d'utiliser les symboles suivant dans les chaînes de caractères\n : provoque le passage à une nouvelle ligne\t : insère une tabulation horizontale\b : décale l'impression <strong>du</strong> champ suivant d'un caractère vers la gauche\r : saut horizontal>> z =[]; x = [1 :10]; for i=1 :length(x), z = [z ,x(i), log(x(i))]; end;>> s = sprintf('%4.1f | %8.6E \n ', z )ans =1.0 | 0.000000E+002.0 | 6.931472E-013.0 | 1.098612E+004.0 | 1.386294E+005.0 | 1.609438E+006.0 | 1.791759E+007.0 | 1.945910E+008.0 | 2.079442E+009.0 | 2.197225E+0010.0 | 2.302585E+00>>Si l'on a besoin d'afficher le caractère % on le doublera %% pour qu'il ne soit pas interprété comme ledébut d'un format. La commande fprintf est l'analogue de sprintf pour imprimer de variables selon unmodèle donné dans un fichier.28
5. Programmer sous Matlab5.1 Scripts et fonctionsIl est possible d'enregistrer une séquence d'instructions dans un fichier (appelé un M-file) et de les faireexécuter par Matlab. Un tel fichier doit obligatoirement avoir une extension de la forme .m (d'où lenom M-file) pour être considéré par Matlab comme un fichier d'instructions. On distingue deux typesde M-file, les fichiers de scripts et les fichiers de fonctions. Un script est un ensemble d'instructionsMatlab qui joue le rôle de programme principal. Si le script est écrit dans le fichier de nom nom.m onl'exécute dans la fenêtre Matlab en tapant nom. Même si l'on ne souhaite pas à proprement parlerécrire de programme, utiliser un script est très utile. Il est en effet beaucoup plus simple de modifierdes instructions dans un fichier à <strong>l'aide</strong> d'un éditeur de texte que de retaper un ensemble d'instructionsMatlab dans la fenêtre de commande.Les fichiers de fonctions ont deux rôles. Ils permettent à l'utilisateur de définir des fonctions qui nefigurent pas parmi les fonctions incorporées de Matlab (built-in functions) et de les utiliser de la mêmemanière que ces dernières (ces fonctions sont nommées fonctions utilisateur). Ils sont également unélément important dans la programmation d'applications où les fonctions jouent le rôle des fonctions etprocé<strong>du</strong>res des langages de programmation usuels.On définit la fonction fonc de la manière suivante :oùfunction [vars1, ..., varsm] = fonc(vare_1, ..., varen)séquence d'instructions• vars1, ..., varsm sont les variables de sortie de la fonction;• vare1, ..., varen sont les variables d'entrée de la fonction;• séquence d'instructions est le corps de la fonction.Le fichier doit impérativement commencer par le mot-clé function. Suit entre crochets les variables desortie de la fonction, le symbole =, le nom de la fonction et enfin les variables d'entrée entreparenthèses. Si la fonction ne possède qu'une seule variable de sortie, les crochets sont inutiles. Il estimpératif que la fonction ayant pour nom fonc soit enregistrée dans un fichier de nom fonc.m sansquoi cette fonction ne sera pas visible par Matlab.Dans l'exemple qui suit, on définit une fonction mo<strong>du</strong>lo qui calcule la valeur de a mo<strong>du</strong>lo n en prenantpour système de rési<strong>du</strong>s {1, 2, ..., n} au lieu de {0, 1, ..., n-1} (système de rési<strong>du</strong>s considéré par lafonction incorporée mod). Les lignes qui suivent doivent être enregistrées dans un fichier de nommo<strong>du</strong>lo.m.function [r,q] = mo<strong>du</strong>lo(a,n)% Calcule la valeur de a mo<strong>du</strong>lo n en prenant pour systeme de resi<strong>du</strong>s% 1, ... , n au lieu de 0, ... , n-1.%% appel : [r,q] = mo<strong>du</strong>lo(a,n)%% Arguments de sortie :% r : le resi<strong>du</strong>% q : le quotientq = floor(a./n);29
- Page 1:
T.P. Identification, Commandeet Sta
- Page 4 and 5:
2 2dh Kim = mg−2dt héquation mé
- Page 6 and 7:
4. Etude similaire pour une balle r
- Page 9 and 10: TP 2 : Simulation de trajectoires d
- Page 11 and 12: TP 3 : Application de la méthode d
- Page 13: Remarquons que nous avons besoin de
- Page 16 and 17: 2. Description du procédéOn consi
- Page 18 and 19: En fin d’exécution le fichier vo
- Page 20 and 21: 5. Calcul d’un régulateur némat
- Page 22 and 23: 3. Modélisation du systèmeUn mod
- Page 24 and 25: D :Dépassementω r0.95KsKs:Gaine s
- Page 26 and 27: ( )()( )( )() ( )( )( 0)() 1⎡ y 0
- Page 28 and 29: Figure 7 : Un signal SBPA et sa fon
- Page 30 and 31: Le tableau suivant montre quelques
- Page 33 and 34: Annexe : Généralités sur Matlab1
- Page 35 and 36: y =0.8660z =-0.5000>> save toto y z
- Page 37 and 38: Plusieurs instructions Matlab peuve
- Page 39 and 40: 1>> isreal(rep)ans =1>>2.1.2 Le typ
- Page 41 and 42: y =1.229999999999999e+02tst =0>> fo
- Page 43 and 44: and(m,1): vecteur colonne de longue
- Page 45 and 46: ans =1 11 11 1>> zeros(2)ans =0 00
- Page 47 and 48: On n'est pas obligé de se limiter
- Page 49 and 50: (1,1) 2(2,1) -1(1,2) -1(2,2) 2(3,2)
- Page 51 and 52: infNaN: infini. Est obtenu quand on
- Page 53 and 54: vecteurs. Il s'obtient grâce à l'
- Page 55 and 56: Les fonctions matricielles les plus
- Page 57 and 58: On obtient les racines du polynôme
- Page 59: 4.4 Impressions dirigées par forma
- Page 63 and 64: nombre de variables d'entrée utili
- Page 65 and 66: • séquence d'instructions est le
- Page 67 and 68: Interprétation :La séquence d'ins
- Page 69 and 70: séquence d'instructions 2...case c
- Page 71 and 72: if nargout == 2rang = rank(A);if na
- Page 73 and 74: %% Sortie :% ly : indice de ligne d
- Page 75 and 76: On obtient alors le graphe de la fo
- Page 77 and 78: ouge + plus -. pointillé mixteg ve
- Page 79 and 80: supposons que la variable numex con
- Page 81 and 82: Figure 11 : Fenêtre graphique déc
- Page 83 and 84: [C,h] = contour(X,Y,Z,n)>> clabel(C
- Page 85 and 86: Dans les deux cas on obtient le ré
- Page 87 and 88: Figure 19 : Exemple de visualisatio