Upload
daha-ahmed
View
5
Download
0
Embed Size (px)
Citation preview
Ecole Polytechnique Militaire 2015
TP Traitement de signal I. P. Elmoukhtar
TPN°2: Initiation au MATLAB (Scripts et fonctions)
Question 1 : Créez un fichier m-file (menu principal, File → New → M-file) nommé test1.m contenant les lignes suivantes : %Mon premier m-file A=ones(4) v=[1 2 3 4]’ w=A*v Quel est le résultat de l’instruction >> test ? Question 2 : Créez un fichier m-file (menu principal, File → New → M-file) nommé test2.m contenant les lignes suivantes : function m= test2 (n) A=rand(n); imagesc(A); axis equal off; m=mean(mean(A)); Quel est le résultat de l’instruction >> test2(5) ?
Question 3 :
1- Définissez deux nombres quelconques a et b. Écrivez un programme indiquant quel est le plus grand de ces deux nombres (la fonction disp permet d’afficher un texte).
2- Même exercice en prenant également en compte le cas de l’égalité entre les deux nombres (utilisez elseif).
3- Avec une boucle for, affichez les entiers de 0 à 10. 4- Avec une boucle for, affichez les nombres pairs de 100 à 90.
5- Créez la matrice de Hilbert de taille N (Hi,j = 1/(i + j − 1) avec i, j {1,N}). Il faut utiliser deux boucles for imbriquées. Il est préférable d’initialiser la matrice H au début : H = zeros(N) car cela évite à Matlab de redimensionner la matrice pendant l’exécution du programme et permet donc de gagner du temps.
6- Créez un vecteur x de taille 10 contenant des entiers aléatoires entre 0 et 10 (fonctions rand et round) puis calculez la somme de ses éléments deux à deux.
7- Écrivez une fonction Matlab qui calcule la norme euclidienne d’un vecteur x = (x1, x2).
8- Vérifier que le programme y = x.^2; est bien plus rapide que le suivant : y = zeros(length(x),1); for i = 1:length(x) y(i) = x(i).^2; end;
Utilisez les fonctions tic et toc pour mesurer le temps de calcul de chacun.