1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| function surligne(M,fmt,idx)
%SURLIGNE Surligne des valeurs à l'affichage d'une matrice
% SURLIGNE(M,FMT,IDX) permet d'afficher une matrice M suivant le format FMT
% en mettant en évidence les valeurs identifiées par IDX, soit un vecteur
% d'indices linéaires, soit une matrice issue d'une opération logique sur M.
%
% Exemple 1 :
% M = rand(3);
% surligne(M,'%.3f',M>=.5);
%
% Exemple 2 :
% M = rand(3);
% surligne(M,'%.3f',[1 5 8]);
%
% Voir aussi <a href="matlab:disp">disp</a>
%
% Auteur: Jérôme Briot (Dut)
% Contact: dutmatlab@yahoo.fr
% http://www.developpez.net/forums/member.php?u=125006
% Création: 28 Décembre 2007
%
nargchk(3,3,nargin);
flag=all(size(M)==size(idx));
if flag
idx=idx.';
else
temp=zeros(size(M));
temp(idx)=1;
idx=temp.';
end
M=M.';
str='\n';
sM=size(M);
for n=1:numel(M)
if idx(n)
str=[str '<a href="">' sprintf(fmt,M(n)) '</a> '];
else
str=[str sprintf(fmt,M(n)) ' '];
end
if ~mod(n/sM(1),1)
str=[str(1:end-1) '\n'];
end
end
disp(sprintf(str)) |
Partager