• Aucun résultat trouvé

[PDF] Cours informatique d’introduction aux éléments de Matlab | Formation matlab

N/A
N/A
Protected

Academic year: 2021

Partager "[PDF] Cours informatique d’introduction aux éléments de Matlab | Formation matlab"

Copied!
47
0
0

Texte intégral

(1)S ¯ Æ S  g jS ~• S c. . c c. .

(2)  . . Support de cours. •. SS 

(3) 

(4) . (Edition 2004 - 2005). S  ¯ Æ S g jS ~• S 24, rue Pasteur ± 94270 LE KREMLIN-BICETRE * Tél. : 01.44.08.01.00 * Fax : 01.44.08.01.13 Etablissement Privé d¶Enseignement Supérieur ± SIRET N° 433 695 632 00011 ± APE 803Z.

(5) 2/47.

(6) ½ c ¯  S ÆSg . .  c. 1.1c CALCULS NUMERIQUES USUELS ................................ ................................ ................5c 1.1.1c Exemple d¶application ................................ ................................ .......................... 5c 1.1.2c Les fonctions mathématiques usuelles ................................ ................................ .6c 1.1.3c Calculs sur un ensemble de valeurs ................................ ................................ .....6c 1.2c GRAPHIQUES ................................ ................................ ................................ .................6c 1.2.1c Représentations graphiques 2D ................................ ................................ ...........6c 1.2.2c Représentation graphique d¶une fonction ................................ ............................. 7c 1.3c PROGRAMMATION ................................ ................................ ................................ ........7c 1.3.1c Créer ses propres fonctions ................................ ................................ .................7c 1.3.2c Créer un sous-programme ................................ ................................ ...................8c. ¬c. S.  . ½ c. 2.1c SUITES REELLES................................ ................................ ................................ .........10c 2.1.1c Définition ................................ ................................ ................................ ............10c 2.1.2c Itérations et étude de suites ................................ ................................ ...............10c. c.   S  . ½¬ c. 3.1c MATRICES ................................ ................................ ................................ .................... 12c 3.1.1c Notations et vocabulaire ................................ ................................ ..................... 12c 3.1.2c Définir des matrices avec Matlab ................................ ................................ ........13c 3.2c OPERATIONS SUR LES MATRICES ................................ ................................ ............15c 3.2.1c Addition ................................ ................................ ................................ ..............15c 3.2.2c Multiplication par des scalaires ................................ ................................ ...........15c 3.2.3c Multiplication des matrices ................................ ................................ .................15c 3.2.4c Transposée d¶une matrice ................................ ................................ ..................16c 3.2.5c Inversion de matrices carrées ................................ ................................ .............16c 3.3c SYSTEMES LINEAIRES................................ ................................ ................................ 17c 3.3.1c 3.3.2c 3.3.3c 3.3.4c 3.3.5c. Définition ................................ ................................ ................................ ............17c Opérations fondamentales sur les systèmes ................................ ...................... 18c Méthode de résolution de Gauss ................................ ................................ ........19c Systèmes de Cramer ................................ ................................ .......................... 21c Utilisation de Matlab ................................ ................................ ........................... 21c.  S  Æ. ¯ . ¬ c.    Æ. ¬ c. FICHE 1 : SAUVEGARDER LES COMMANDES UTILISEES ................................ .................27c FICHE 2 : GERER ET SAUVEGARDER DES VARIABLES ................................ .................... 29c. 3/47.

(7) FICHE 3 : GESTION DE L¶AFFICHAGE ................................ ................................ .................31c FICHE 4 : SE RENSEIGNER SUR UNE FONCTION OU UNE COMMANDE ......................... 33c FICHE 5 : DEFINIR ET GERER DES TABLEAUX : VECTEURS ET MATRICES ................................ ................................ ................................ .................... 35c FICHE 6 : TRACER DES GRAPHIQUES 2D ................................ ................................ ..........37c. S¯ Æ .  c. MINI-PROJET 1 : PARTS D¶UN MARCHE ................................ ................................ .............41c MINI-PROJET 2 : MATRICES MAGIQUES DE TYPE (3,3) ................................ .................... 43c MINI-PROJET 3 : RESOLUTION D¶UN SYSTEME DE CRAMER................................ ...........45c MINI-PROJET 4 : DIVISION EUCLIDIENNE ET SUITE PSEUDOALEATOIRE ................................ ................................ ................................ ..................47c. 4/47.

(8) ½  ¯  S ÆSg  ½ ½ . . . S   . . ½ ½ ½ 

(9)  

(10)  Trouver les racines du polynôme du 2 nd degré : P(x) = 3.7x²+x-1.5 Solution de la forme : x. ±b. b² ± 4ac 2a. On commence par définir les paramètres du problème : >> a=3.7 a= 3.7 >> b=1 ; >> c= -1.5 ;. c ccc  Ý cc c c c c

(11)

(12)  c c c  c

(13)   c  gc c   c  c   c c

(14) c c   c  c  cc c  ¯c  c c

(15)  c c c  c  c c   c  c   c c     c

(16) c c  c gc c c c c  c  c  c c c cc   c  c c c  c  c

(17) cc

(18)   cc  c

(19) c c c c 

(20)  c   c    c c   c  c c   c  Ý c c  c c c cc c c c

(21)    c  c c 

(22)   cc On continue la résolution en calculant le déterminant et les deux racines : >> delta = b^2-4*a*c; >> x1 = (-b+sqrt(delta)) / (2*a) x1 = 0.5158 >> x2 = (-b-sqrt(delta)) / (2*a) x2 = -0.7860. c. 5/47.

(23) cc  Æc

(24) c  c c  c   c c c c   c c¯c   c c  c

(25) c 

(26)    c c 

(27) c c

(28)   c   c cc  c c   c  c  ¯c  c c   c  c  cc  c c   c!c c"c ½ ½ ¬.   

(29) 

(30)      De nombreuses fonctions mathématiques sont disponibles dans Matlab. Une liste exhaustive est présentée dans l¶aide de Matlab. Pour ouvrir la fenêtre de l¶aide en ligne, on utilis e l¶instruction : >> helpwin Les fonctions mathématiques élémentaires se trouvent dans Elementary math functions (matlab/elfun).. ½ ½  

(31)   !  "#

(32)  !  Matlab permet d¶effectuer des calculs sur un ensemble de valeurs. Au préalable, il nous faut stocker ces valeurs dans un vecteur (ou tableau). Exemple : Calculer y  x 2 (1  e ± x ) pour x = 0, 0.2, 0.4, « , 1. On définit un vecteur de valeurs régulièrement espacées en donnant successivement la valeur initiale 0, le pas 0.2 et enfin la valeur finale 1 : >> x = [0 :0.2 :1]. On calcule ensuite les images de ces valeurs. P our procéder au calcul sur toutes les valeurs de x, on remplace les opérateurs ^ et *, respectivement par .^ et .* : >> y = x.^2 .* (1+exp(-x)). ½ ¬ . ¯ . ½ ¬ ½. !

(33) $!

(34)   ¬g La commande  permet de tracer tous les graphes plans. On l¶utilise sous la forme : plot(abscisse, ordonnée, options). 

(35)  est une chaîne de caractères permettant de préciser par exemple le type ou la couleur du tracé. Exemple :. 6/47.

(36) >> x = [0 :0.2 :10] >> y = x.^2 .* (1+exp(-x)) >> plot(x,y,¶b - -¶). Par défaut, la figure s¶ajuste automatiquement à l¶ensemble des points à représenter, mais la commande

(37)   permet d¶imposer ces propres choix. Pour ajouter un quadrillage, on utilise l¶instruction $!  . Plusieurs tracés peuvent être effectués sur la même figure grâce à la commande   . Pour ouvrir une nouvelle figure, il suffit de taper : >>  $ ! La commande  permet d¶effacer la figu re courante. On peut nommer les axes avec les commandes 

(38) " ou %

(39) ", selon l¶axe considéré, inclure un titre ( ) ou une légende ( $ ). >> xlabel(µx¶) >> ylabel(µy¶) >> title(µtracé de y = x^2(1+exp(-x))¶). Il peut s¶avérer intéressant d¶importer un tracé vers un document world. Pour cela, on sélectionne dans la fenêtre figure File — Export et on choisit un format de conversion (.png, .jpeg, «). On peut aussi tracer plusieurs graphes sur la même figure :  " ½ ¬ ¬. !

(40) $!

(41)        L¶instruction & permet de tracer simplement les graphes de fonctions. Exemples : >> ezplot(µx^2*(1+exp(-x))¶) >> ezplot('x^3 + 2*x^2 - 3*x + 5 - y^2') >> ezplot('t*cos(t)','t*sin(t)',[0,4*pi]). ½  ¯ Æ.  ÆS. ½  ½ !!! !   Exemple : Soit la fonction f 1 définie par : f1( x ) È x ln x. 7/47.

(42) On définit la fonction dans un fichier m, qui doit être enregistré dans le répertoire de travail courant (Current Directory) sous le nom f1.m. Le contenu du fichier doit respecter l¶une des deux syntaxes suivantes : f1.m % définition de la fonction y=x.ln(x) function y = f1(x) y = x.*log(x) ;. function y = f1(x) % définition de la fonction y=x.ln(x) y = x.*log(x) ;. Le commentaire, situé en début ou juste sous la déclaration function, est le texte affiché dans la Command Window si on appelle >> help f1. L¶instruction function indique qu¶il s¶agit d¶une fonction et la syntaxe y = f1(x) renseigne sur le(s) entrée(s)/sortie(s) : le calcul de la fonction dépend de x et la valeur de la sort ie est enregistrée sous y.. ccc  Æc  c c ccc c c cc  c c  Ý c c 

(43) c c

(44)  c 

(45)

(46)  c  c  c c c  c c  c  Ýc c c c c   c c  c

(47)  cc

(48) c  c L¶utilisateur peut alors procéder selon les besoins :  cc c   c c  cc >> f1(1.5) ans = 0.6082.  cc c   cc c c c  cc >> f1([1 :0.2 :2]) ans = 0.2188 0.4711 0.7520 1.0580 1.3863.  cc c

(49)  c

(50)   c# cc c  c

(51)  cc >> fplot(µf1¶,[0.2 2]) ; grid on ; >> title(µfonction f1(x) = x*log(x)¶). ½  ¬ !!  ! $!

(52)  Un sous-programme permet de mémoriser, d¶adapter, de réutiliser un calcul. On l¶appelle fonction en informatique (à ne pas confondre avec une fonction au sens mathématique, même si les deux notions se rejoignent parfois, comme l¶exemple précédent).. 8/47.

(53) Exemple : Créer une fonction permettant de trouver les racines d¶un polynôme du 2 nd degré. On commence par ouvrir un fichier m que l¶on enregistre sous solvepoly2.m. On choisit ensuite les entrées/sorties de la fonction : . . c  c c   c c    c  c c c c

(54)  $ c ¯% . c c c c  cc   c cc  cc&c. La syntaxe est la suivante : solvepoly2.m function X = solvepoly2(a,b,c) nd % solvepoly2 calcule les racines d¶un polynôme du 2 degré P(x)= ax²+bx+c. % X = solvepoly2(a,b,c), X est un tableau contenant les deux racines. delta = b^2-4*a*c; X(1) = (-b+sqrt(delta)) / (2*a); X(2) = (-b-sqrt(delta)) / (2*a);. Résolvons de nouveau le polynôme de l¶exemple 1 à l¶aide de cette function. Supposons que l¶utilisateur ne connaisse que le nom de la fonction, pour obtenir des renseignements sur celle -ci, il doit taper : >> help solvepoly2 nd calcule les racines d¶un polynôme du 2 degré P(x)= ax²+bx+c. X = solvepoly2(a,b,c), X est un tableau contenant les deux racines.. Une fois renseigné, il peut maintenant utiliser la fonction : >> solvepoly2(3.7,1,-1.5) ans = 0.5158 -0.7860. 9/47.

(55) ¬ ¬ ½. S.  .   .  . ¬ ½ ½ g.  On appelle suite numérique une application définie par : u :. n " u(n).  est le terme général de la suite et est souvent noté . Par abus de langage, la suite  qui est déterminée par ses valeurs % , se note : ( u n )n  0. Une suite peut être définie à partir d¶un certain rang p fixé. On notera :. (un )np Une suite (u n )n0 est  s¶il existe une constante M telle q ue : n  0, u n  M. et elle est  s¶il existe une constante m telle que : n  , un  m Elle est  s¶il existe une constante C > 0 telle que :. n  0, un  C Il est facile de vérifier qu¶une suite est bornée si, et seulement si, elle est majorée et minorée. ¬ ½ ¬  !

(56)      Pour étudier les suites sous Matlab, il est essentiel de connaître les instructions d¶itération classiques, '  et  !, permettant de répéter un traitement sur les termes successifs d¶une suite. La syntaxe générale est :  ! variable = [valeurinitiale : pas : valeurfinale], % traitements à répéter   ou bien '  conditionàrespecter, % traitements à répéter  . 10/47.

(57) S   ˜ c c c c  c   c

(58) c  c   c  ~c c c c c

(59)   c  c c c  c c  c  c

(60) c   cc c

(61)   c c

(62) c

(63)  c'c Exemple : On veut calculer les 10 premiers termes d¶une suite géométrique de raison 0.5 et de premier terme u(1)=100. Les termes successifs de la suite sont enregistrés dans un tableau (ou vecteur) : u = [u(1) u(2) « u(n)], n=10 >> u(1) = 100 ; >> for k=[1 :1 :9], u(k+1) = 0.5 * u(k) ; end. Aucun résultat ne s¶affiche en présence du point-virgule à la fin de l¶opérati on. Pour obtenir les 5 premiers termes de la suite, on tape : >> u(1:5) ans = 100.0000 50.0000 25.0000 12.5000. . 11/47. 6.2500.

(64) .   S  .  ½      ½ ½ S

(65)  # 

(66) " 

(67) !   ½ ½ ½ g.  Un tableau M constitué de n lignes et de p colonnes est appelé matrice de type (n,p) et est noté :         È   i i   u u. .  .  .    . .  . i.  . . u. .   f  f f f i f f f u f. La notation abrégée est  È [ i ] iÈ,...,n È,...,. Le premier indice indique le numéro de la ligne et le deuxième indice celui de la colonne.  ½ ½ ¬ 

(68) 

(69) !   ! Matrices lignes et matrices colonnes Une matrice de type (1,p) (resp. (n,1)) est appelée matrice ligne (resp. matrice colonne). Matrice ligne. Ù. .  . Matrice colonne                 u. . Matrices carrées Une matrice de type (n,n) est appelée matrice carrée d¶ordre n. Parmi les matrices carrées, on peut distinguer : les matrices carrées diagonales , vérifiant : a i È. ou encore. 12/47. si i ‘ .

(70) 11   È     .  f f f f  uu f.     . . les matrices carrées triangulaires supérieures respectivement définies par :. ou inférieures,. a i È  si i ¨  et  i È  si i  . ou bien    È    . . .      . . n  f  n f et  È f f nn.         u. . .   .  . u  .   f f  f f  uu. les matrices carrées symétriques, telles que : a i È a i ,. i, . et enfin, les  c  c  qui vérifient : aij  0 si i  j ÿaii  1. notée 1 0    0 1 In       0 0 . 0 f f 0f f 1.  ½ ¬ g. !

(71) ! 

(72) #

(73) 

(74) "   ½ ¬ ½ g.  

(75)  

(76) 

(77) !      Exemple : Définir la matrice.     f .   f È     f  f     .  Les matrices sont généralement définies ligne par ligne.. 13/47.

(78) Comme les tableaux de valeurs présentés dans le paragra phe 1.1.3, les matrices sont définies entre des crochets. On sépare chaque élément d¶une ligne par un espace ou par une virgule et pour indiquer le passage à une nouvelle ligne, on utilise un point -virgule : >> M = [2 5 9 ; 0.5 10 -3 ; 4 2 0 ; -0.7 1 0] M= 2.0000 5.0000 9.0000 0.5000 10.0000 -3.0000 4.0000 2.0000 0 -0.7000 1.0000 0. On peut aussi définir 3 matrices colonnes et les concaténer : >> u = [2 ; 0.5 ; 4 ; -0.7] ; v = [5 ; 10 ; 2 ; 1] ; w = [9 ; -3 ; 0 ; 0] ; >> M = [u v w] M= 2.0000 5.0000 9.0000 0.5000 10.0000 -3.0000 4.0000 2.0000 0 -0.7000 1.0000 0. Quelques manipulations utiles : Pour accéder au terme a ij : >> M(i,j) Pour modifier l¶élément a ij : >> M(i,j) = a Pour accéder à toute la i ième ligne : >> M(i, :) Pour accéder à toute la j ième colonne : >> M( : , j )  ½ ¬ ¬ 

(79) ! 

(80) !   (!

(81) 

(82) "  Il existe plusieurs matrices particulières sous Matlab dont la liste se trouve dans la rubrique elmat de l¶aide (helpwin). Parmi les plus connues, on trouve : La matrice identité I n définie par : eye(n) La matrice de type (m,n) dont tous les coefficients sont nuls (matrice nulle) : zeros(m,n) La matrice de type (m,n) dont tous les coefficients sont unitaires : ones(m,n). cc

(83) c c c  c  c   c  c  c c   c c   c ccc c  c  cc(  c c. 14/47.

(84)  ¬ Ư  ¬ ½. ÆS         .  Soient deux matrices de même type :    

(85) È    u.  . .  .  .  u. .   f  f et  È f f u f.         u. . . .  . u. .   f  f f f u f. on appelle matrice somme de A et B, la matrice :                   È

(86)  È     u  u u  u  .     f     f f f  u  u f. De manière condensée, on a :  È [ si ] iÈ,...,n  È,...,. avec i È ,..., u et.  È ,..., ,. si È a i  i.  ¬ ¬    

(87) 

(88) !

(89) 

(90) !  Soient ¯ un scalaire quelconque de que :. et une matrice M de type (n,p), telle.  È [ i ] iÈ,...,u  È,...,. la matrice ¯M est définie par :       È     u. . .  .  . u. .    f   f f f u f. Tous les coefficients de la matrice M ont donc été multipliés par le scalaire ¯.  ¬     

(91) 

(92) !   Soient deux matrices A et B, respectivement de type (n,p) et (p,q) :. 15/47.

(93)

(94) È [ ik ] iÈ1,...,u et  È [ k ] k È1,..., k È1,...,. È1,...,. . le résultt du roduit A. x. . B. (n, p ). (p, q). C (n, q). est l mtrice C de ty e (u, ) défiuie r  [c i ] i,...,u ,...,´. où c i.  i   i    ...  i .  ik. . k. k .  ¬  !

(95)   

(96) !   On appelle transposée de la matrice   [ i ] i,...,u  ,...,. de type (n,p), la matrice notée tM (ou MT) t.   [ i ] i,..., ,...,u. de type (p,n) définie par i  ,..., t.   ,..., u,. i   i. En d¶autres termes, tM est obtenue à partir de M en éc hangeant ses lignes avec ses colonnes. Pour obtenir la tranposée de la matrice M, on tape : >> M¶.  ¬   #! 

(97) ! 

(98) !!  Une matrice carrée A d¶ordre n est dite inversible s¶il existe une matrice carrée B du même ordre telle que :

(99)     

(100)  Iu. La matrice B, lorsqu¶elle existe est unique. On l¶appelle matrice inverse de A et on la note  

(101) . 16/47.

(102) Pour inverser une matrice A sous Matlab, on peut utiliser :. #)  ou  . )½.    S      ½ g.  Un système linéaire de n équations (n  1) à p inconnues (p  1) est défini par :. . ( ). a11 1  a1    ...  a1    ...  a1p  p  a 11  a    ...  a     ...  ap  p    ai11  ai     ...  ai    ...  aip  p    an11  an     ...  an    ...  anp  p. È. 1. 1. È. . . È. i. i. È. n. n. Les données du système linéaire sont :  les     réels ou complexes a ij pour i=1,«,n et j=1,«,p (n et p sont deux entiers connus),  le   c   du système constitué par les nombres réels ou complexes bi (i=1,«,n), et L i (i=1,«,n) désigne la i ième  du système (S). Les inconnues à déterminer sont les x j (j=1,«,p). Le système est dit carré lorsque n=p. C¶est le cas où il y a autant d¶équations que d¶inconnues. On dira que le système est homogène lorsque le second membre est nul (bi=0, i=1,«,n). On peut remarquer qu¶un système linéaire homogène admet au moins la solution nulle x i=0, i=1,«,n (qui n¶est pas nécessairement la seule). j     Lorsque tous les coefficients sont nul, i.e. :. sous la diagonale » d¶un système linéaire i ¨   a i È . on dit que le système est    . Ils peuvent être de trois formes : 1. les systèmes triangulaires supérieurs, à n équations et n inconnues, de la forme :. 17/47.

(103) (S ). a11x1  a12 x 2  ...  a1j x j  ...  a1n x n  b1  { a22 x 2  ...  a2 j x j  ...  a 2n x n  b 2 { { { aii x i  ...  ain x n  bi. { { { { ÿ. ann x n  bn. Tous les coefficients a ii sont non nuls. Pour obtenir toutes les inconnues xi, on procède par remontées successives. Dans ce cas, on aura une solution unique du système. 2. Les systèmes échelonnés de forme trapézoïdale, où il y a plus d¶inconnues que d¶équations, cas où n < p. Ils se présentent sous la forme. ( ).        ...  u  u  ...    È        ...   u  u  ...     È     . uu  u  ...  u  È u. Si tous les coefficients a ii (i=1,«,n) sont non nuls, le système admet une infinité de solutions, obtenues en donnant des valeurs arbitraires aux p -n inconnues x n+1, xn+2, «, x p. On peut alors exprimer les n premières inconnues x 1, x2, «, xn en fonction de ces valeurs arbitraires. 3. Les systèmes échelonnés où on a n > p :. (S ). a11x1  a12 x 2  ...  a1p x p  b1  { a 22 x 2  ...  a2p x p  b 2 { { { app x p  bp { 0  bp1 { { { 0  bn ÿ. Il y a ici plus d¶équations que d¶inconnues, deux possibilités se présentent :  soit au moins l¶un des nombres b p+1, bn n¶est pas nul et le système n¶admet aucune solution,  soit tous les nombres b p+1, «, bn sont nuls et on est ramené à un système triangulaire supérieur à p inconnues et p équations.   ¬ Æ!

(104)  

(105) 

(106)  !% (  Il existe 3 actions simples (provenan t de Gauss) qui permettent de transformer un système (S) en un système équivalent plus simple à résoudre.. 18/47.

(107) 1. Dans un système donné (S), on peut intervertir 2 lignes quelconques L i et Lk. On écrira Li ^ L k. 2. On peut remplacer une ligne quelconque Li par l¶un de ses multiples non nuls. On notera L i  .L i ,. ‘. 3. On peut remplacer une ligne quelconque par la somme d¶un multiple (non nul) de cette ligne et d¶une combinaison finie des autres lignes. Cela se traduit par Li  .L i .   .L , k. ‘. k. k ‘i. Lorsque l¶on effectue une quelconque des 3 actions ci -dessus, sur un système linéaire (S), on obtient une nouvelle   c   de ce système.      !  

(108)   Cette méthode consiste à effectuer un certain nombre d¶actions élémentaires pour obtenir un système équivalent échelonné. Elle s¶applique à un système linéaire quelconque (carré ou non). Exemple : Trouver toutes les solutions du système à n = 4 équations et p = 5 inconnues :. (S ).  0 { {2x1 3 x1 { { 4 x1 ÿ. . x2. . x4. . b1. L1. . . x4. . 0 6x5.  . . x2 0. 3x 3 7x 3. ±. . . 6x 3. . x4. . 5x5. . b2 b3. L2 L3. . x2. . 11x 3. . 0. . 6x5. . b4. L4. Choisir une ligne dont le coeffici ent de x1 est non nul et la mettre en première ligne. Ce coefficient est appelé

(109)  de Gauss. On choisit d¶intervertir les lignes L 1 et L 2 : L1 ^ L 2. On a alors. (S ). 2x1 { { 0 3 x1 { { 4 x1 ÿ. . x2. . . x4. . . 7x 3 3x 3.  . x2 0. . x2. ±. x4. . 6x 3. . . 11x 3. . 19/47. . b2. L1. . 6x5 0. . x4. . 5x5. . b1 b3. L2 L3. 0. . 6x5. . b4. L4.

(110) On cherche ensuite à annuler toute la colonne en dessou s du pivot choisi en effectuant des actions élémentaires de Gauss avec la première ligne. On applique donc :   2    puis  4  2 4  4 . et le système est équivalent à :. (S ). 2x   { { 0. . { 0 { ÿ 0. . x2 x2. . 7x. . . x. . x2 2x 2. . 9x 6x. .  . . . x4 x4. . 6x5. . . 0. . x4 4x 4. . 8x5 2x 5. . . . b2 b.  2. 2b  b 2 2b 4  4b 2.  4. a première ligne ne changera plus. On réitère les deux étapes précédentes pour le sous -système constitué des trois autres lignes :. (S' ).  x2 { x2 {2x ÿ 2. . x . . x4. . 0. . b. 2. . 9x 6x . . x4 4x 4. . 8 x5 2 x 5. . 2b  b 2 2b 4  4b 2.  4. . . . . par les actions successives :      2 puis  4   4  2 2. et on continue pour les sous -systèmes suivants. On a donc :. (S ). 2x  { { 0. . x2. . 7x . . . . . . x 0. . { 0 { ÿ 0. x2 0. . 0. . 0. . . x4 x4. . 6x5. . . 0. . 4x 4 6x 4. . 8x5 2x 5. . . . b2 b.  2. 2b  b 2  b 2b 4  4b 2  2b.  4. Finalement, on applique l¶action :  4  2 4   . et on obtient. (S ). 2x   { { 0 { 0 { ÿ 0. . x2. . 7x. . x4. . 6x 5. . b2. . . b. . 0 8x 5. . . x4 4x 4. . . x 0. . . x2 0.  2. . . 0. . 0. . 0. . 0. . 2b  b 2  b 4b 4  b  b2  5b.  4. On distingue ainsi deux cas : Si les éléments b i du second membre ne vérifient pas la condition 4b 4  b  b 2  5b  0. 20/47.

(111) alors on a obtenu un système échelonné de type (3) (cf. paragraphe 3.3.1) qui n¶admet aucu ne solution. En revanche, si la condition est vérifiée, alors par remontées successives, on peut résoudre le système.   . % (!

(112) ! On suppose que n = p. On considère donc un système carré. (S ). a11 x1  a12 x 2  ...  a1j x j  ...  a1n x n { a 21x1  a22 x 2  ...  a2 j x j  ...  a2n x n { { { {ai1x1  ai 2 x 2  ...  aij x j  ...  ain x n { { { ÿan1x1  an 2 x 2  ...  anj x j  ...  ann x n. . b1. . b2. L1 L2. . bi. Li. . bn. Ln. Le système admet une unique solution si, et seulement si, la méthode de Gauss fait apparaître n pivots successifs tous non nuls. Dans ce cas, on dira que le système est de Cramer.      

(113) 

(114) 

(115) " . 21/47.

(116) 22/47.

(117)  S  Æ [R1]. ¯ . Applications mathématiques avec Matlab Tome 1 : algèbre linéaire et géométrie Tome 2 : analyse « L. Jolivet, R. Labbas Lavoisier 2005, Hermes science. [R2]. Introduction à Matlab J.-T. Lapresté Ellipses 1999. 23/47.

(118) 24/47.

(119)  Æ . 25/47.

(120) 26/47.

(121) ½*. •. g   Æ Sg   . . Une session de travail peut être sauvegardée sous 2 formes différentes selon l¶utilité ultérieure dont elle fera l¶objet :  Si on veut uniquement visualiser toutes les opérations et résultats affichés dans l¶espace de travail, on choisit la commande 

(122) !%. Cette instruction permet de sauvegarder sa session de travail dans un fichier texte dès qu¶on aura donné l¶instruction 

(123) !%  ou qu¶on aura quitté Matlab. Pour écrire de nouveaux éléments dans le fichier texte ainsi créé après avoir utilisé diary off (durant la même session de travail), on utilise l¶instruction 

(124) !% ..   Si on veut pouvoir exécuter de nouveau les opérations de la session, il est nécessaire de créer un fichier script de Matlab (soit un  ). Ouvrir un fichier m (m-file) qui est un fichier script de Matlab : file — new — m-file. Ceci ouvre la fenêtre de l¶éditeur de Matlab avec un fichier nommé untitled.m, on commence par lui affecter un nom.. 27/47.

(125) Pour réutiliser les commandes ainsi enregistrées, il existe plusieurs méthodes :  ¯  

(126)      : On vérifie que le fichier se trouve dans le répertoire courant (Current Directory) Dans la fenêtre de commande (Command Window), on tape le nom du fichier sans son extension : >> nomdufichier. Une autre possibilité consiste à utiliser directement la barre de tâche de l¶éditeur. En cliquant sur , on compile directement le fichier. (il faut toutefois vérifier au préalable que le fichier se trouve dans le Current Directory !)  Pour      : On peut effectuer un copier -coller de l¶éditeur vers la fenêtre de co mmande. L¶éditeur possède un raccourci pour ce type de copier -coller : on sélectionne les commandes concernées et avec le clique droit de la souris, on choisit l¶option   c   (cf. figure ci-dessous).. . S                            . 28/47.

(127) ¬*.  . •. g g •.   . . Ý        La fenêtre Workspace liste l¶ensemb le des variables de la session de travail et renseigne sur le type, la dimension et la taille mémoire de chacune d¶entre elles. Depuis la fenêtre de commande, on peut retrouver ces informations grâce aux instructions who ou whos..      Il est parfois utile d¶effacer une ou plusieurs variables pour ne pas encombrer l¶espace mémoire ou pour réinitialiser la session de travail. Pour effacer les variables a et b : >> clear a b. Pour effacer toutes les variables de la session : >> clear all. ou bien >> clear.     Il existe des fichiers de sauvegarde de variables spécifiques à Matlab, ils portent l¶extension .mat. Pour enregistrer les variables c et d dans un fichier sauvegarde1.mat : >> save sauvegarde1 c d. Pour enregistrer dans le même fichier toutes les variables de la session : >> save sauvegarde1. cc c c   c c  c c c   c

(128) c   c c  c   c c

(129)    cc    c   

(130)      L¶instruction

(131)  permet de lire les fichiers .mat. Ainsi pour récupérer les variables enregistrées dans le fichier essai.mat, on tape : >> load essai. 29/47.

(132) 30/47.

(133) *. ÆSg. .  . î                On peut éditer les commandes ultérieures en utilisant la flèche Ĺ. Pour retrouver la commande plus rapidement, on tape le(s) premier(s) caractère(s) et on utilise la flèche Ĺ. Pour modifier les caractères d¶une commande, on utilise les flèches ĺ ou ĸ..       Pour effacer la fenêtre de commande, on dispose de l¶instruction .. 31/47.

(134) 32/47.

(135) *.  S S   SÆSÆSÆSÆ Sg. g    Pour obtenir le descriptif d¶une fonction ou commande, on dispose de la fenêtre d¶aide de Matlab (>> helpwin) dans laquelle l¶index permet de retrouver les commandes disponibles du logiciel. On peut aussi avoir accès au descriptif directement à partir de la fenêtre de commande en tapant : >> help nomdelacommande. Exemple : >> help min S    

(136)          .            

(137)       

(138)        .      "   Pour visualiser le code source d¶une fonction : >> help nomdelafonction. Exemple : >> type sphere S   

(139)           Lorsque le code source est indisponible, Matlab renvoie l e message : >> nomdelafonction is a built-in function. Exemple : >> type min. 33/47.

(140) 34/47.

(141) *gS.   g    + *•.   . . Comme les vecteurs, les matrices sont généralement définies ligne par ligne et entre des crochets. On sépare chaque élément d¶une ligne par un espace ou par une virgule et pour indiquer le passage à une nouvelle ligne, on utilise un point -virgule. Quelques manipulations utiles Pour accéder au terme a ij : >> M(i,j) Pour modifier l¶élément a ij : >> M(i,j) = a Pour accéder à toute la i ième ligne : >> M(i, :) Pour accéder à toute la j ième colonne : >> M( : , j ). 35/47.

(142) 36/47.

(143) ,*.  g . ¯ ¬g. La commande  permet de tracer tous les graphes plans. On l¶utilise sous la forme : plot(abscisse, ordonnée , options). 

(144)  est une chaîne de caractères permettant de préciser par exemple le type ou la couleur du tracé. Par défaut, la figure s¶ajuste automatiquement à l¶ensemble des points à représenter, mais la commande

(145)   permet d¶imposer ces propres cho ix. Pour ajouter un quadrillage, on utilise l¶instruction $!  . Plusieurs tracés peuvent être effectués sur la même figure grâce à la commande   . Pour ouvrir une nouvelle figure, il suffit de taper : >>  $ ! La commande  permet d¶effacer la figure courante. On peut nommer les axes avec les commandes 

(146) " ou %

(147) ", selon l¶axe considéré, inclure un titre ( ) ou une légende ( $ ). Il peut s¶avérer intéressant d¶importer un tracé vers un document world. Pour cela, sélectionne dans la fenêtre figure File — Export et on choisit un format de conversion (.png, .jpeg, «).. 37/47. on.

(148) 38/47.

(149) S¯ Æ . 39/47.

(150) 40/47.

(151) S¯. ƽ*¯.  gS. . Soient A et B deux produits concurrentiels. On suppose qu¶aucun produit nouveau n¶apparaît sur le marché. Les parts sur le marché à la date t pour les produits A et B sont représentées par la matrice colonne x  Pt   t   yt. avec x t  y t  1 (puisqu¶il n¶y a pas d¶autre produit que A et B sur le marché). La répartition prévue à la date t+1 est P t+1, telle que x  x  Pt 1   t 1    .  t  avec    yt  y t 1. 0.4 0.2 f  0.6 0.8. On appelle  matrice de transition. On notera que x t 1  y t 1  (0.4 x t  0.6 y t )  (0.6x t  0.8y t )  x t  y t  1 1. Pour P0  Ù0. 0. , calculer P 1, P 2, P , P10 et P 20. t. 2. Effectuer de nouveau les calculs pour d¶autres valeurs de P0  Ùx 0 x 0  y 0  1 . Qu¶observe-t-on ? t. y 0 , vérifiant toujours. . Soit d un réel appartenant à l¶intervalle  1/ 4 , / 4 . On note x 0  1/ 4  d . Calculer en fonction de d, les valeurs de y 0, P 0, P1, P 2, puis la récurrence P n. 4. Quelle est la limite de Pn  Ùx n y n lorsque n tend vers  ? Quelle interprétation économique peut -on faire de ce résultat ? t. 41/47.

(152) 42/47.

(153) S¯. Ƭ*     g¯). Quels chiffres tous différents entre 1 et 9 doit -on mettre dans chaque case du tableau de type (3,3) pour que la somme de chaque ligne, de chaque colonne et des deux diagonales soit toujours égale à 15 ? Une solution est la matrice     f f    f. On propose l¶étude suivante pour trouver l¶ensemble des solutions : 1. On dit qu¶une matrice de M ( ) est magique si les huit sommes de lignes, de colonnes et des deux diagonales sont égales à un nombre donné s. Ecrire cette propriété sous forme d¶un système linéaire. . Vérifier que ce système est résoluble par la méthode de Gauss pour tout s . .. . Donner l¶ensemble solution de ce système. Effectuer des vérifications. . Etude du cas s = 1 , avec coefficients e ntiers. Donner toutes les possibilités pour un tableau ( , ) à coefficients entiers tous distincts entre 1 et 9 pour avoir la propriété d¶une matrice magique avec s = 1 .. 43/47.

(154) 44/47.

(155) S¯. Æ*  Æ ÆSgS  g. . . On considère le système liné aire 2x  3y { y {x ± {3x ± 4y { ÿ x  5y. ±. z . t 1.  3z ± 2t  0 . z ± 3t  0. ± 2z  2t  0. 1. Montrer que ce système est de Cramer. 2. Résoudre ce système par la méthode de Gauss. Vérifier le résultat avec la commande rref. 3. Vérifier que l¶on obtient aussi cette solution directement par l¶inversion matricielle. 4. En adaptant l es formules de Cramer au cas d¶un système de quatre équations à quatre inconnues, retrouver la solution de ce système.. 45/47.

(156) 46/47.

(157) S¯. Æ*g• ÆS gSS ¯ gÆ .  Æ . Question 1 : Division euclidienne Ecrire une fonction [q,r] = DivEuclid(a,b) qui calcule le quotient q et le reste r de la division euclidienne de l¶entier a par l¶entier b non nul. On pourra, pour effectuer le calcul, utiliser la fonction  ! qui donne la partie entière d¶un nombre réel, et la fonction   qui donne le reste de la division euclidienne. Question 2 : Suite pseudo-aléatoire Une suite pseudo-aléatoire de nombres entiers est générée de la manière suivante : — on se donne 3 entiers fixés a, c et m avec a et m non nuls, — on choisit une première valeur x 1, — on définit par récurrence la suite de valeurs x k par xk+1 est le reste de la division de ax k+c par m Ecrire une fonction X = SuiteAlea(a,c,m,x1,n) qui construit ainsi dans un tableau X une suite de n nombres entiers pseudo -aléatoires, compris entre 0 et m-1. Tester dans un cas simple, en vérifiant que, pour a = 13, c = 0, m = 31 , x1 = 1 les 12 premiers nombres obtenus sont 1, 13, 14, 27, 10, 6, 16, 22, 7, 29, 5, 3 Remarque : En choisissant m suffisamment grand et en divisant tous les termes de la sui te obtenue par m, on obtient une suite de nombres réels pseudo -aléatoires dans l¶intervalle [0,1].. 47/47.

(158)

Références

Documents relatifs

Dans une deuxième phase d'analyse, nous nous sommes intéressés non plus à l’ensemble des éléments lexicaux, mais aux éléments inconnus ou quasi-inconnus en

Dans un secteur d' activité comme l’ habitat social , le risque est au cœur de nos activités : financier : aménagement et portage d' opérations , financement des

Pour tester cette hypothèse, nous avons étudié le rôle de l’éclairage, de la musique et de la senteur d’ambiance sur l’évaluation du caractère spacieux

If the difference between the number of children that White and Visible Minorities females have were significant, then the discrimination portion of the wage

générer cette dernière est liée au pouvoir de marché de la société acquéreuse. Mais bien souvent, la création de valeur dans les F&amp;A n’est pas toujours au rendez-vous. De

Our overview of the network of actors that participate in the construction of the notion of data journalism, according to the interviewees, reveals that there is a handful of

Dumontier et Elleuch (2002) observent sur le marché français à partir de 136 dates d’annonces de résultats et de publication d’états

2.1 Essai de classement des actions de l’entreprise en niveau de responsabilité Afin d’établir des « portraits » de la RSE, nous avons retenu pour notre étude trois entreprises