1.7 Le langage MATLAB
31
0
2000
4000
6000
8000
10000
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
Figure 1.9. Produit matrice-vecteur : temps CPU (en secondes) en fonction
de la dimension n de la matrice (sur un processeur Intel
R
Core
TM 2 Duo, 2.53
GHz)
vv = v(1:k)’;
t = cputime;
b = AA*vv;
tt = cputime - t;
T = [T, tt];
sizeA = [sizeA,k];
end
L’instruction a:step:b intervenant dans la boucle for génère tous les nombres a:step:b
de la forme a+step*k où k est un entier variant de 0 à kmax, où kmax est le plus
grand entier tel que a+step*kmax est plus petit que b (dans le cas considéré,
a=500, b=10000 et step=100). La commande rand(n,m) définit une matrice rand
n×m dont les éléments sont aléatoires. Enfin, T est le vecteur contenant les
temps CPU nécessaires à chaque produit matrice-vecteur, et cputime renvoie
le temps CPU (en secondes) consommé par MATLAB depuis son lancement.
Le temps nécessaire à l’exécution d’un programme est donc la différence entre
le temps CPU effectif et celui calculé juste avant l’exécution du programme
courant, stocké dans la variable t. La Figure 1.9, tracée à l’aide de la commande
plot(sizeA,T,’o’), montre que le temps CPU augmente comme le carré de
l’ordre de la matrice n.
1.7 Le langage MATLAB
Après les quelques remarques introductives de la section précédente, nous
sommes à présent en mesure de travailler dans les environnements MATLAB ou Octave. Comme indiqué précédemment, “MATLAB” désignera
désormais indifféremment le langage utilisé dans MATLAB et Octave.
31
0
2000
4000
6000
8000
10000
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
Figure 1.9. Produit matrice-vecteur : temps CPU (en secondes) en fonction
de la dimension n de la matrice (sur un processeur Intel
R
Core
TM 2 Duo, 2.53
GHz)
vv = v(1:k)’;
t = cputime;
b = AA*vv;
tt = cputime - t;
T = [T, tt];
sizeA = [sizeA,k];
end
L’instruction a:step:b intervenant dans la boucle for génère tous les nombres a:step:b
de la forme a+step*k où k est un entier variant de 0 à kmax, où kmax est le plus
grand entier tel que a+step*kmax est plus petit que b (dans le cas considéré,
a=500, b=10000 et step=100). La commande rand(n,m) définit une matrice rand
n×m dont les éléments sont aléatoires. Enfin, T est le vecteur contenant les
temps CPU nécessaires à chaque produit matrice-vecteur, et cputime renvoie
le temps CPU (en secondes) consommé par MATLAB depuis son lancement.
Le temps nécessaire à l’exécution d’un programme est donc la différence entre
le temps CPU effectif et celui calculé juste avant l’exécution du programme
courant, stocké dans la variable t. La Figure 1.9, tracée à l’aide de la commande
plot(sizeA,T,’o’), montre que le temps CPU augmente comme le carré de
l’ordre de la matrice n.
1.7 Le langage MATLAB
Après les quelques remarques introductives de la section précédente, nous
sommes à présent en mesure de travailler dans les environnements MATLAB ou Octave. Comme indiqué précédemment, “MATLAB” désignera
désormais indifféremment le langage utilisé dans MATLAB et Octave.
