How to display matrix as an image ?

I have a diagonal matrix A of 4x4 and I want to display this as an image, how am I supposed to do that? I tried using imshow(A) and it does not work, please help.

2 Comments

Could you be more precise please? What type is your matrix? What error does imshow return? imshow should be the right function here, so the problem is elsewhere.
Adam
Adam on 22 Aug 2017
Edited: Adam on 22 Aug 2017
figure; imagesc(A)

Sign in to comment.

Answers (1)

Try using:
image(A)
That will display the image like a heatmap with each entry being a square. If you want to specify the color of each square, you'll have to use a 3 dimensional array. For example if you use something like:
A(:,:,1) = [255 0 255 0; 0 255 0 255; 255 0 255 0; 0 255 0 255];
A(:,:,2) = [255 0 255 0; 0 255 0 255; 255 0 255 0; 0 255 0 255];
A(:,:,3) = [255 0 255 0; 0 255 0 255; 255 0 255 0; 0 255 0 255];
% A(1,1,:) is the rgb color vector, so white for A(1,1,:) = [255 255 255] and black for A(1,2,:) = [0 0 0]
image(A)
you'll get something that looks like a checkerboard.

Categories

Asked:

on 22 Aug 2017

Edited:

on 22 Aug 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!