2010-07-19 11 views
12

J'ai une matrice binaire 2D que je veux afficher sous la forme d'un tracé en noir et blanc. Par exemple, disons que j'ai une matrice 4 par 4 comme suit:Comment afficher une matrice binaire 2D en tant que tracé noir et blanc?

1 1 0 1 
0 0 1 0 
1 1 0 1 
1 0 0 0 

Comment cela peut-il être représenté graphiquement en matrice noir et blanc? Certaines de mes matrices binaires d'entrée sont de taille 100 par 9, donc j'aurais idéalement besoin d'une solution qui généralise à différentes matrices de taille.

Répondre

14

Si vous souhaitez effectuer une parcelle de type de mots croisés as shown here (avec des lignes de la grille et carrés en noir et blanc), vous pouvez utiliser la fonction imagesc, un gray colormap et modifier le axes properties comme ceci:

mat = [1 1 0 1; 0 0 1 0; 1 1 0 1; 1 0 0 0]; % Your sample matrix 
[r, c] = size(mat);       % Get the matrix size 
imagesc((1:c)+0.5, (1:r)+0.5, mat);   % Plot the image 
colormap(gray);        % Use a gray colormap 
axis equal         % Make axes grid sizes equal 
set(gca, 'XTick', 1:(c+1), 'YTick', 1:(r+1), ... % Change some axes properties 
     'XLim', [1 c+1], 'YLim', [1 r+1], ... 
     'GridLineStyle', '-', 'XGrid', 'on', 'YGrid', 'on'); 

et voici l'image que vous devriez obtenir:

enter image description here

1

Essayez la fonction spy pour commencer peut-être.

4

Je ne suis pas sûr si je suis votre bonne question, mais vous pouvez essayer la fonction d'image, comme ceci:

A = [ 1 1 0; 1 0 1; 1 1 1 ]; 
colormap([0 0 0; 1 1 1 ]); 
image(A .* 255); 
+0

merci beaucoup. C'était utile mais pas exactement comme j'ai besoin, j'ai besoin de quelque chose comme ça (s'il vous plaît trouver l'URL): http://www.mathworks.com/access/helpdesk/help/techdoc/ref/pcolor1.gif – sahamdan