Exercices de Révision INFO4 M.LICHOURI 27 Mai 2014 Dernière mise à jour : à 18:34:31 Partie N 1 : Matrice et Polynôme 1 Exercice 1 : Matrice 1.1 Partie 1 : Achage Donner l'achage des commandes suivants : 1 >> % Exercice 1 2 >> % Partie Affichage 3 >> a=[1 0 2 3 4 ] 4 5 a = 6 7 1 0 2 3 4 8 9 >> b=[0 1 2 0 5 ] 10 11 b = 12 13 0 1 2 0 5 14 15 >> c=a. \ b % la barre est incline vers b, donc b est le 16 % nominateur et b le denominateur (b/a) 17 c = 18 19 0 Inf 1. 0 0 0 0 0 1. 2 5 0 0 20 % 1/0 => infinie (Matlab: Inf) 21 % 0/0 => cas indefini (Matlab: NaN) Page 1/11
22 >> d=b. ^ a % b en puissance de a 23 24 d = 25 26 0 1 4 0 625 27 28 >> e=sqrt ( a ) % la racine de a 29 30 e = 31 32 1. 0 0 0 0 0 1. 4 1 4 2 1. 7 3 2 1 2. 0 0 0 0 33 % la precion de Matlab en format short est 34 % de 4 chiffres apres la virgule 35 >> f =[a ( 1 : 3 ) ; a ( 3 : 5 ) ; b ( 1 : 2 : 5 ) ] 36 37 f = 38 39 1 0 2 40 2 3 4 41 0 2 5 42 % Construire la matrice f depuis les 43 % vecteurs a et b 44 >> diag ( f ) 45 46 ans = 47 48 1 49 3 50 5 51 % le diagonal de la matrice f est un vecteur colonne 52 >> diag ( diag ( f ) ) 53 54 ans = 55 56 1 0 0 57 0 3 0 58 0 0 5 59 % le diagonal d un vecteur est une matrice creuse 60 % (plein de zeros) dont sa diagonale est 61 % le vecteur en entree 62 >> f ( 2, : ) 63 64 ans = 65 66 2 3 4 67 % afficher la deuxieme ligne de f 68 >> f ( :, 3 ) 69 70 ans = 71 Page 2/11
72 2 73 4 74 5 75 % afficher la troisieme colonne de f 76 >> f ( 1 : 2, 3 : 4 ) 77??? Index e x c e e d s matrix dimensions. 78 % erreur car pas de 4 colonne 79 >> f ( 1 : 2 : 3, 2 : 3 ) 80 81 ans = 82 83 0 2 84 2 5 1.2 Partie 2 : Commande En utilisant les commandes Matlab : 1. Créez la matrice M dénit par : 1 0 2 1 2 4 5 7 3 1 >> % Partie 2 Commande 2 M=[1 0 2 ; 1 2 4 ; 5 7 3 ] 3 % creer la matrice M, ligne par ligne 4 % separee par des point virgule ; 2. Calculer le déterminant et la matrice inverse de M. 1 det (M) 2 inv (M) 3. Trouver la matrice transposé de M. 1 M' 4. Extraire et acher la diagonale de M. 1 d=diag (M) ; % extraire la diagonale 2 disp ( d ) % affichage avec la commande disp Page 3/11
5. Extraire les sous-matrices M1 et M2 de M dénit par : 2 7 4 3 1 5 2 3 1 M1=M( 2 : 3, 2 : 3 ) ' 2 % la matrice M1 est le transpose de celle 3 % existant dans M entre la 2 et 3 ligne; et 4 % la 2 et 3 colonne 5 M2=M( 1 : 2 : 3, 1 : 2 : 3 ) ' 6. peut-on réaliser les opérations suivants : a/ M*ones(1,3) b/ M*eye(3,1) c/ M*diag([1 2 3]) d/ M.*ones(3) e/ M.*ones(3,1) 1 % Pour realiser une multiplication matricielle 2 % entre deux matrices A et B; une condition est 3 % necessaire: A(m,n) B(n,p) 4 % nombre de colonne de A = nombre de ligne de B 5 M ones ( 1, 3 ) % M(3x3) (1x3) ==> pas possible 6 7 M eye ( 3, 1 ) % M(3x3) (3x1) ==> OK 8 9 M diag ( [ 0 1 2 ] ) % M(3x3) (3x3)==> OK 10 11 % Pour realiser une multiplication (division ou 12 % puissance) point par point (element par element) 13 % entre deux matrices (vecteurs) leurs dimensions 14 % doivent etre les memes 15 16 M. ones ( 3, 1 ) % M(3x3). (3x1) ==> pas possible 17 18 M. ones ( 3 ) % M(3x3). (3x3) ==> OK Page 4/11
2 Exercice 2 : Polynôme En utilisant les commandes Matlab : 1. Dénir le polynôme P pxq x 4 2x 2 1. 2. Calculer P(0), P'(1) et P"(2). 3. Dénir le vecteur V qui contient 100 valeurs compris entre 0 et 2. 4. Evaluer le polynôme P(x) sur les points de V. 5. Soit le polynôme Spxq x 2 1, calculer le produit, le quotient et la somme de S et P. 6. Tracer les courbes des polynômes P et S sur le même graphe avec le titre 'intersection de polynôme'. 1 % Exercice 2 2 % polynome 3 P=[ 1 0 2 0 1] 4 % definir un polynome en utilisant ces coefficients 5 % du plus grand puissance vers la constante. 6 polyval (P, 0 ) 7 % evaluer le polynome P en 0. 8 P1=polyder (P) % calculer la derivee premiere de P 9 polyval (P1, 1 ) % calculer P (1) 10 P2=polyder ( P1) % calculer la derivee seconde de P 11 polyval (P2, 2 ) % calculer P (2) 12 13 % Remarque: polyval, polyder, poly et roots 14 % ne sont utilisees qu avec les polynomes 15 % exemple 1: calculer les racines du polynome P 16 % r=roots(p) 17 % exemple 2: identifier le polynome Z dont les 18 % racines sont 2 et 3. 19 % Z=poly([2 3]) 20 21 V=linspace ( 1,1,100) 22 % creer un vecteur V contenant 100 valeurs 23 % comprises entre 1 et 1. 24 polyval (P,V) % evaluer P en V 25 S=[1 0 1 ] % definir S 26 prod=conv ( S, P) 27 % calculer le produit S P 28 [Q,R]=deconv(P, S ) 29 % calculer la divsion euclidienne de P/S 30 % P S 31 % 32 % R Q 33 som=p+[0 0 1 0 1 ] 34 % calculer la somme S+P en ajoutant des 35 % zeros a S car: dimension(s)<dimension(p) 36 % graphisme Page 5/11
37 x=linspace ( 1, 1,200); 38 figure ( 1 ) 39 % avant de tracer le polynome S 40 % on doit l evaluer au valeurs de x 41 sx=polyval ( S, x ) 42 % apres on le trace en fonction de x 43 plot ( x, sx, 'r ' ) % par exemple en rouge 44 hold on % on trace P de la meme maniere 45 px=polyval (P, x ) ; 46 plot ( x, px ) 47 t i t l e ( ' intersection de polynome ') % le titre 48 hold o f f Figure 1 Tracé de deux polynôme S et P Page 6/11
3 Exercice 3 : Vecteurs Soit les vecteurs : u 1 =[1 2 3], u 2 =[-5 2 1] 1- Calculer u1 3 u2. 2- Donner la commande pour calculer les normes de u 1 et u 2. 3- Donner la commande pour calucler le cosinus de l'angle formé par les vecteurs u 1 et u 2. 4- calculer x=u1(1 :2)-2*u2(2 :3) 5- y=[u1 u2], z=[u1 ; u2] 1 >> u1=[1 2 3 ] ; 2 >> u2=[ 5 2 1 ] ; 3 >> u1+3 u2 4 5 ans = 6 7 14 8 6 8 9 >> norm( u1 ) % la norme de u1 10 11 ans = 12 13 3. 7 4 1 7 14 15 >> norm( u2 ) % la norme de u2 16 17 ans = 18 19 5. 4 7 7 2 20 21 >> % pour caluler le cosinus de l angle formee par 22 >> % vecteurs u1 et u2 23 >> % on commance par caluler leur produit sclaire 24 >> ps=u1 u2 ' % la somme de leur produit element par element 25 26 ps = 27 28 2 29 30 >> % ps=1 5+2 2+3 1= 5+4+3=2 31 >> % le cosinus=u1.u2/( u1 u2 ) 32 >> c=ps /(norm( u1 ) norm( u2 ) ) 33 34 c = 35 36 0. 0 9 7 6 37 38 >> x=u1 (1:2) 2 u2 ( 2 : 3 ) Page 7/11
39 40 x = 41 42 3 0 43 44 >> y=[ u1 u2 ] % vecteur forme par deux vecteurs 45 46 y = 47 48 1 2 3 5 2 1 49 50 >> z =[ u1 ; u2 ] % matrice ou u1 est la premier ligne et 51 % u2 la seconde 52 z = 53 54 1 2 3 55 5 2 1 Partie N 2 : Graphisme et Méthode Numérique 4 Exercice 4 :Graphisme Soit les fonctions f et g dénit par : f 2xe x sinpxq, g cos 2 pxq 1. Tracer ces deux fonctions : 1/ dans la même gure et 2/ dans deux gures diérents de deux maniéres. 4.1 Méthode 1 : une seule gure 1 x = 1:0.01:1; % ou x=linspace( 1,1,100) 2 f =2 x. exp( x) sin ( x ) ; % calculer f 3 g=cos ( x ).^2+1; % calculer g 4 figure ( 1 ) % creer une figure 5 plot ( x, f, 'r ' ) % tracer f en fonction de x 6 hold on % tracer encore 7 plot ( x, g ) % g en fonction de g 8 t i t l e ( 'f et g dans une seule figure ') % ajouter un titre 9 hold o f f Page 8/11
Figure 2 Tracé de deux fonctions f et g dans un seul graphe 4.2 Méthode 2 : deux gures 1 % en utilisant la commande inline 2 % on peut declarer une fonction sans 3 % declarer ces variables 4 f=i n l i n e ( '2* x.* exp (x)- sin (x) ' ) ; 5 g=i n l i n e ( ' cos (x ).^2+1 ' ) ; 6 figure ( 1 ) % creer une premiere figure 7 % pour tracer une fonction decalree par inline 8 % on utilise la commande fplot 9 fplot ( f,[ 1 1 ], 'r ' ) % on precise l intervalle 10 t i t l e ( 'le trace de f en fonction de x ') 11 figure ( 2 ) % creer une deuxieme figure 12 fplot ( g,[ 2 2 ] ) % on peut changer l intervalle 13 t i t l e ( 'le trace de g en fonction de x ') Page 9/11
Figure 3 Tracé de la fonction f dans une gure Figure 4 Tracé de la fonction g dans une autre gure 5 Exercice 5 : Soit la fonction f pxq e x x 2 0.75, écrire un script ( programme) Matlab permettant de trouver la racine approchée de cette équation par la méthode de la CORDE si elle existe dans l'intervalle[-1 1], en utilisant l'algorithme suivant : Algorithme de la CORDE; 1 a=1,b=2;x0=(a+b)/2; q=(f(a)-f(b))/(b-a); 2 eps=0.00001;ecart=1;iter=0; 3 SI f(a)*f(b)<0 alors 4 TANT QUE iter<=50 et ecart>eps faire 5 x1=x0-f(x0)/q; 6 ecart= x1-x0 ; 7 x0=x1; 8 iter=iter+1; 9 Fait; 10 Ecrire("la racine approchee est",x1,"le nombre d'iteration est=",iter); 11 Sinon 12 Ecrire("Pas de racine sur l'intervalle"); 13 Fsi; 1 % Algorithme de CORDE; 2 f=i n l i n e ( ' exp (x)-x.^2-0.75 ' ) 3 a= 1; 4 b=1; 5 eps =0. 00001; 6 e c a r t =1; 7 i t e r =0; 8 x0=(a+b ) / 2 ; 9 q=( f ( b) f ( a ) ) / ( b a ) ; 10 i f f ( a ) f ( b)<0 11 while ( i t e r <=50 & e c a r t >eps ) Page 10/11
12 13 x1=x0 f ( x0 )/ q ; e c a r t=abs ( x1 x0 ) ; 14 i t e r=i t e r +1; 15 x0=x1 ; 16 end 17 f p r i n t f ( 'la racine approchee est %f, le nombre d" iteration 18 est =% d\n ', x1, i t e r ) ; 19 else 20 f p r i n t f ( ' Pas de racine sur l" intervalle \n ' ) ; 21 end 22 23 % resultat 24 % la racine approchee est 0.223309,le nombre d"iteration est=5 Page 11/11