Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf ·...

23
Universit´ e de Provence. Pr´ eparation Agr´ egation. ´ Epreuve de mod´ elisation, option Probabilit´ e-Statistique. . . Correction du TP1: prise en main de Matlab 1 Utiliser l’aide en ligne-sauvegarder >> help help HELP Display help text in Command Window. HELP, by itself, lists all primary help topics. Each primary topic corresponds to a directory name on the MATLABPATH. HELP / lists a description of all operators and special characters. HELP FUN displays a description of and syntax for the function FUN. When FUN is in multiple directories on the MATLAB path, HELP displays information about the first FUN found on the path and lists PATHNAME/FUN for other (overloaded) FUNs. HELP PATHNAME/FUN displays help for the function FUN in the PATHNAME directory. Use this syntax to get help for overloaded functions. HELP DIR displays a brief description of each function in the MATLAB directory DIR. DIR can be a relative partial pathname (see HELP PARTIALPATH). When there is also a function called DIR, help for both the directory and the function are provided. etc.... >> doc help >> lookfor matrix mldivide.m: %\ Backslash or left matrix divide. mpower.m: %^ Matrix power. mrdivide.m: %/ Slash or right matrix divide. mtimes.m: %* Matrix multiply. slash.m: %Matrix division. 1

Transcript of Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf ·...

Page 1: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

Universite de Provence. Preparation Agregation.

Epreuve de modelisation, option Probabilite-Statistique.

. .

Correction du TP1: prise en main de Matlab

1 Utiliser l’aide en ligne-sauvegarder

>> help help

HELP Display help text in Command Window.

HELP, by itself, lists all primary help topics. Each primary topic

corresponds to a directory name on the MATLABPATH.

HELP / lists a description of all operators and special characters.

HELP FUN displays a description of and syntax for the function FUN.

When FUN is in multiple directories on the MATLAB path, HELP displays

information about the first FUN found on the path and lists

PATHNAME/FUN for other (overloaded) FUNs.

HELP PATHNAME/FUN displays help for the function FUN in the PATHNAME

directory. Use this syntax to get help for overloaded functions.

HELP DIR displays a brief description of each function in the MATLAB

directory DIR. DIR can be a relative partial pathname (see HELP

PARTIALPATH). When there is also a function called DIR, help for both

the directory and the function are provided.

etc....

>> doc help

>> lookfor matrix

mldivide.m: %\ Backslash or left matrix divide.

mpower.m: %^ Matrix power.

mrdivide.m: %/ Slash or right matrix divide.

mtimes.m: %* Matrix multiply.

slash.m: %Matrix division.

1

Page 2: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

COMPAN Companion matrix.

DIAG Diagonal matrices and diagonals of a matrix.

EYE Identity matrix.

FLIPDIM Flip matrix along specified dimension.

etc....

>> 0.5*realmax

ans =

8.9885e+307

>> 2*realmax

ans =

Inf

>> 1/0

Warning: Divide by zero.

ans =

Inf

>> 0/0

Warning: Divide by zero.

ans =

NaN

>> capital=-3.1575691856*10^4;

>> format long

>> capital

capital =

2

Page 3: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

-3.157569185600000e+04

>> format short

>> capital

capital =

-3.1576e+04

>> V1=[1 2 4]

V1 =

1 2 4

>> V2=[3 5 6]’

V2 =

3

5

6

>> save Tpinit.mat V1 V2 capital

>> save Tpinit.txt V1 V2 capital -ascii

>> whos

Name Size Bytes Class

V1 1x3 24 double array

V2 3x1 24 double array

ans 1x1 8 double array

capital 1x1 8 double array

cc 1x6 12 char array

d 1x16 32 char array

runningWindows 1x1 1 logical array

v 1x18 36 char array

vers4Startup 1x1 8 double array

3

Page 4: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

zzSTIXENV 1x22 44 char array

Grand total is 72 elements using 197 bytes

>> clear V1 V2 capital

>> whos

Name Size Bytes Class

ans 1x1 8 double array

cc 1x6 12 char array

d 1x16 32 char array

runningWindows 1x1 1 logical array

v 1x18 36 char array

vers4Startup 1x1 8 double array

zzSTIXENV 1x22 44 char array

>> clear

>> whos

>> load Tpinit

>> whos

Name Size Bytes Class

V1 1x3 24 double array

V2 3x1 24 double array

capital 1x1 8 double array

Grand total is 7 elements using 56 bytes

2 Vecteurs et matrices:

1. >> v=[45 3 -7 38]; w=[0 1];

>> v*w’

??? Error using ==> mtimes

Inner matrix dimensions must agree.

>> v=[-1:-1:-90]; w=[1:90];

>> v*w’

4

Page 5: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

ans =

-247065

>> v=[0:0.01:1]; w=[-1:0.01:2];

v*w’

??? Error using ==> mtimes

Inner matrix dimensions must agree.

2. Par exemple, A =

(

1 00 1

)

, et B =

(

0 11 0

)

.

3. >> A=rand(3,3)

A =

0.9501 0.4860 0.4565

0.2311 0.8913 0.0185

0.6068 0.7621 0.8214

>> B=diag(diag(A))

B =

0.9501 0 0

0 0.8913 0

0 0 0.8214

4. >> A=[1 -1;4 3;3 0]; B=[2 -8 1; 0 0 -2]; v=[1 4 3]’;

>> C=A*B;

>> x=B*v;

>> y=A*x

y =

-21

-126

-81

5

Page 6: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

>> z=C*v

z =

-21

-126

-81

On a bien y = z!... C est une matrice 3x3, obtenue comme le produitd’une matrice 3x2, et d’une matrice 2x3. C est donc au mieux de rang2, et n’est donc pas inversible.

>> inv(C)

Warning: Matrix is singular to working precision.

ans =

Inf Inf Inf

Inf Inf Inf

Inf Inf Inf

5. >> A=[6 1 -5;2 2 3;4 -9 7]; b=[10 11 12]’;

>> det(A)

ans =

374

>> x=A\b

x =

2.6310

0.8717

1.3316

>> A*x

6

Page 7: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

ans =

10.0000

11.0000

12.0000

On retrouve bien b.

>> A(3,:)=[8 3 -2]

A =

6 1 -5

2 2 3

8 3 -2

>> det(A)

ans =

0

>> x=A\b

Warning: Matrix is singular to working precision.

x =

Inf

-Inf

Inf

A n’est pas inversible. L’equation Ax = b n’a pas de solution si b /∈ℑ(A), ou a une infinite de solutions si b ∈ ℑ(A). Dans ce cas, lessolutions sont du type x = x0 + v, ou x0 est une solution particuliere,et v est un vecteur quelconque de Ker(A). Pour savoir si Ax = b a unesolution, i.e. pour savoir si b ∈ ℑ(A), on peut utiliser la commanderref

7

Page 8: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

>> rref([A b])

ans =

1.0000 0 -1.3000 0

0 1.0000 2.8000 0

0 0 0 1.0000

La troisieme colonne est une combinaison lineaire des deux premieres,ce qui montre que A est de rang 2. La quatrieme colonne n’est pas unecombinaison lineaire des deux premieres, ce qui montre que b n’est pasdans ℑ(A). Donc, l’equation Ax = b n’a pas de solution.

>> A=[1 2 3 4;2 3 4 1; -2 4 -5 2; 8 1 -1 3]; b=[1 -2 0 1]’;

>> det(A)

ans =

910

>> y=A\b

y =

-0.0857

-0.6143

-0.1736

0.7088

>> A*y

ans =

1.0000

-2.0000

0

1.0000

On retrouve b.

8

Page 9: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

6. >> eye(3)

ans =

1 0 0

0 1 0

0 0 1

>> ones(3)

ans =

1 1 1

1 1 1

1 1 1

>> ones(3,1)

ans =

1

1

1

>> pascal(6)

ans =

1 1 1 1 1 1

1 2 3 4 5 6

1 3 6 10 15 21

1 4 10 20 35 56

1 5 15 35 70 126

1 6 21 56 126 252

>> magic(3)

ans =

9

Page 10: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

8 1 6

3 5 7

4 9 2

eye(n) est la matrice Identite de dimension n. ones(n,p) est unematrice n×p dont toutes les entrees sont 1. pascal(n) est une matricesymetrique n×n contenant les coefficients binomiaux. Son entree (i, j)est

pascal(n)i,j

= Cj−1

i+j−2 .

magic(n) cree un carre magique d’ordre n, i.e. une matrice n × n acoefficients entiers, telle que les sommes sur les lignes et les colonnessont egales.

>> ones(3)^3

ans =

9 9 9

9 9 9

9 9 9

>> ones(3)^4

ans =

27 27 27

27 27 27

27 27 27

>> ones(5)^4

ans =

125 125 125 125 125

125 125 125 125 125

10

Page 11: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

125 125 125 125 125

125 125 125 125 125

125 125 125 125 125

ones(n)2 = n ones(n), et par recurrence, ones(n)m = nm−1ones(n).

>> ones(3)*magic(3)

ans =

15 15 15

15 15 15

15 15 15

Si A est une matrice n × p, ones(n) ∗ A est une matrice n × p, dontl’entree (i, j) est la somme sur la j-ieme colonne de A. Si A est uncarre magique, on obtient donc une matrice dont toutes les entreessont egales.

7. La commande sparse permet de creer des matrices avec un grand nom-bre de 0, sans surcharger inutilement la memoire. On garde juste enmemoire les places et les valeurs des entrees non nulles. Les comman-des full et spy permettent de “visualiser” ces matrices. full rend lamatrice entiere, en mettant des 0 ou besoin est. spy cree un graphiqueindiquant la place des entrees non nulles.

>> A=sparse(10,10,2.1)

A =

(10,10) 2.1000

>> B=full(A)

B =

Columns 1 through 8

11

Page 12: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

Columns 9 through 10

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 2.1000

>> spy(A)

8. La sequence

S=[eye(n) zeros(n,1)]; S=S(:,2:n+1); A=2*eye(n)-S-S’

cree la matrice An.

La sequence

D=diag(ones(n,1)); SD=diag(diag(D),-1); A=2*D-SD-SD’;

produit une erreur, car la matrice SD est en fait de dimension (n+1)×(n + 1), alors que D est de dimension n × n. Pour corriger, il fauttronquer la matrice SD. Par exemple, pour n = 3,

12

Page 13: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

>> D=diag(ones(3,1))

D =

1 0 0

0 1 0

0 0 1

>> SD=diag(diag(D),-1)

SD =

0 0 0 0

1 0 0 0

0 1 0 0

0 0 1 0

>> A=2*D-SD-SD’

??? Error using ==> minus

Matrix dimensions must agree.

>> SD=SD(1:3,1:3)

SD =

0 0 0

1 0 0

0 1 0

>> A=2*D-SD-SD’

A =

2 -1 0

-1 2 -1

0 -1 2

La sequence

13

Page 14: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

e=ones(n,1); b=2*e; A=spdiags([-e b e],-1:1,n,n)

produit la matrice An sous forme “sparse”. Si n est grand, c’est cettesequence qu’il faut preferer aux autres.

>> n=10;

>> e=ones(n,1); b=2*e; A=spdiags([-e b e],-1:1,n,n)

A =

(1,1) 2

(2,1) -1

(1,2) 1

(2,2) 2

(3,2) -1

(2,3) 1

(3,3) 2

(4,3) -1

(3,4) 1

(4,4) 2

(5,4) -1

(4,5) 1

(5,5) 2

(6,5) -1

(5,6) 1

(6,6) 2

(7,6) -1

(6,7) 1

(7,7) 2

(8,7) -1

(7,8) 1

(8,8) 2

(9,8) -1

(8,9) 1

(9,9) 2

(10,9) -1

(9,10) 1

(10,10) 2

14

Page 15: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

>> full(A)

ans =

2 1 0 0 0 0 0 0 0 0

-1 2 1 0 0 0 0 0 0 0

0 -1 2 1 0 0 0 0 0 0

0 0 -1 2 1 0 0 0 0 0

0 0 0 -1 2 1 0 0 0 0

0 0 0 0 -1 2 1 0 0 0

0 0 0 0 0 -1 2 1 0 0

0 0 0 0 0 0 -1 2 1 0

0 0 0 0 0 0 0 -1 2 1

0 0 0 0 0 0 0 0 -1 2

>> spy(A)

>> n=100;

>> e=ones(n,1); b=2*e; A=spdiags([-e b e],-1:1,n,n);

>> spy(A)

9. >> A=[2 3; 6 5];

>> det(A)

ans =

-8

>> [V,D]=eig(A)

V =

-0.7071 -0.4472

0.7071 -0.8944

D =

15

Page 16: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

-1 0

0 8

>> A*V

ans =

0.7071 -3.5777

-0.7071 -7.1554

>> V*D

ans =

0.7071 -3.5777

-0.7071 -7.1554

V est la matrice des vecteurs propres. D est la matrice diagonale, dontles elements diagonaux sont les valeurs propres. On a A = V DV −1.

>> eig(A)

ans =

-1

8

Avec un seul argument de sortie, on obtient le vecteur des valeurspropres.

>> B=[2 3 4; 7 6 5; 2 8 7];

det(B)

ans =

63

>> eig(B)

16

Page 17: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

ans =

15.3332

-0.1666 + 2.0201i

-0.1666 - 2.0201i

>> [V,D]=eig(B)

V =

0.3497 0.0355 + 0.4017i 0.0355 - 0.4017i

0.6325 0.5793 - 0.2662i 0.5793 + 0.2662i

0.6911 -0.6565 -0.6565

D =

15.3332 0 0

0 -0.1666 + 2.0201i 0

0 0 -0.1666 - 2.0201i

Ici, les valeurs propres et vecteurs propres sont complexes.

>> A=[1 -1; 4 3; 3 0]; B=[2 -8 1; 0 0 -2]; C=A*B;

>> ker=null(C)

ker =

-0.9701

-0.2425

0.0000

>> C*ker

ans =

1.0e-14 *

17

Page 18: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

0.1468

0.2130

0.2578

null(C) donne une base du noyau de C, mais a cause des ecrituresapprochees des reels, on n’obtient pas tout a fait 0 quand on refaitC*ker. Il vaut mieux utiliser la commande null(C,’r’) qui cherche,quand c’est possible, a donner la base avec des nombres rationnels.

>> ker=null(C,’r’)

ker =

4

1

0

>> C*ker

ans =

0

0

0

3 Graphiques

3.1 Polygones

1. >> abs=[0 0.2 0.4 0.7 1 0.8 0.5 0];

>> ord=[0 0.5 0.8 0.9 1 0.6 0.1 0];

>> plot(abs,ord)

2. >> i=[0:6]*pi/3; abs=cos(i); ord=sin(i);

>> plot(abs,ord)

>> axis square

18

Page 19: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

La commande axis square permet d’avoir la meme echelle sur l’axedes abscisses et celui des ordonnees.

3.2 Courbes

1. >> abs=[0:1/50:1];

>> ord=cos(abs+1).*sin(100*abs+0.5);

>> plot(abs,ord)

La courbe obtenue n’est pas tres lisse, car on n’a pas mis assez depoints.

>> abs=[0:1/10000:1];

>> ord=cos(abs+1).*sin(100*abs+0.5);

>> plot(abs,ord)

C’est beaucoup plus joli.

2. >> xlabel(’x’)

>> ylabel(’f(x)’)

>> legend(’x --> cos(x+1)sin(100x+0.5)’)

3. >> hold on

>> abs=[0:1/50:1];

>> ord=cos(abs+1);

>> plot(abs,ord,’+r’)

4. Voila le contenu du fichier fonction1.m

function y=fonction1(x)

% FONCTION1: Ma premiere fonction!

%

% y=fonction1(x)

% Entree: -x:matrice ou vecteur.

% Sortie: -y: matrice ou vecteur de meme dimension que x

% y=(x-5)/(x-1).

y=(x-5)./(x-1);

19

Page 20: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

>> x=[0:0.01:1];

>> x(end)=[]; % Supprime la derniere coordonnee.

>> y=fonction1(x);

>> figure(2)

>> plot(x,y)

5. >> fonction1(2)

ans =

-3

>> fonction1(exp(j*pi/2))

ans =

3.0000 + 2.0000i

>> help fonction1

FONCTION1: Ma premiere fonction!

y=fonction1(x)

Entree: -x:matrice ou vecteur.

Sortie: -y: matrice ou vecteur de meme dimension que x

y=(x-5)/(x-1).

Quand on tape help fonction1, les commentaires mis en debut deprogramme sont affiches, comme pour toutes les fonctions deja pro-gramees dans Matlab. Tres pratique!

6. >> figure(1)

>> subplot(2,1,1) % Division de la fenetre graphique en deux sous-fenetre.

% Trace du premier graphique.

>> abs=[0:1/10000:1];

>> ord=cos(abs+1).*sin(100*abs+0.5);

>> plot(abs,ord)

>> xlabel(’x’)

>> ylabel(’f(x)’)

>> legend(’x --> cos(x+1)sin(100x+0.5)’)

20

Page 21: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

>> hold on

>> abs=[0:1/50:1];

>> ord=cos(abs+1);

>> plot(abs,ord,’+r’)

% Trace du deuxieme graphique

>> subplot(2,1,2) % On se place dans l’autre sous-fenetre,

>> plot(x,y)

7. >> clf % Nettoyage de la fenetre graphique.

>> t=[0:0.01:2*pi];

>> x=cos(2*pi*t);

>> y=sin(2*pi*t);

>> plot3(x,y,t) % Trace une courbe en dimension 3

>> grid on % Met une grille.

3.3 Histogramme

>> X=randn(1000,1); %Generation de Normales centrees reduites.

>> hist(X) % Trace un histogramme calcule sur 10 intervalles.

>> x=[-3:0.1:3];

>> n=hist(X,x); %Calcule l’histogramme sur les intervalles

% specifie par x.

>> stairs(x,n) % Diagramme en baton de l’histogramme.

>> df=exp(-x.^2/2)/(sqrt(2*pi)); % Calcul de la densite gaussienne.

>> df=1000*df*0.1; %Renormalisation pour que l’aire sous la courbe soit

%1000, en vue d’une comparaison avec l’histogramme.

>> hold on

>> plot(x,df,’r’) % Trace de la densite renormalise.

>> hold off

3.4 Surfaces

On parametrise la surface:

x = cos(θ) cos(φ) ; y = 1+1√2

cos(θ) sin(φ) ; z = 2+sin(θ) ; θ ∈ [0, 2π] ; φ ∈ [−π

2;π

2] .

>> th=[0:0.1:2*pi];

>> phi=[-pi/2:0.1:pi/2];

21

Page 22: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

>> x=cos(th)’*cos(phi);

>> y=1+cos(th)’*sin(phi)/sqrt(2);

>> z=2+sin(th)’*ones(1,length(phi));

>> clf

>> surf(x,y,z) % Essayez aussi les commandes suivantes.

>> mesh(x,y,z)

>> surfc(x,y,z)

>> meshc(x,y,z)

>> meshz(x,y,z)

>> surfl(x,y,z)

4 Programmes-procedures

Voici le contenu du fichier programme1.m.

% PROGRAMME1.

%

% Ma Premiere procedure.

clear

% Premiere methode de construction, utilisant une boucle.

n=10^4;

tic;

V=zeros(1,n);

for j=1:n

V(j)=j^2;

end

t1=toc;

% Deuxieme methode sans boucle.

tic;

V=[1:n].^2;

t2=toc;

% Affichage des resultats.

disp([’Temps pour la methode avec boucle: ’ num2str(t1)])

disp([’Temps pour la methode sans boucle : ’ num2str(t2)])

Voici ce que ca donne:

22

Page 23: Correction du TP1: prise en main de Matlab 1 Utiliser l ...castell/agreg/TPinit_cor.pdf · Universit´e de Provence. Pr´eparation Agr´egation. Epreuve de mod´elisation, option

>> programme1

Temps pour la mthode avec boucle: 0.0022805

Temps pour la mthode sans boucle : 0.0005776

C’est beaucoup plus rapide sans boucle! Et la plupart du temps, eneffectauant des calculs matriciels, on peut et on DOIT EVITER les boucles.

23