可以用Matlab画出黑白网格吗?麻烦前辈给出具体程序?

来源:百度知道 编辑:UC知道 时间:2024/06/26 02:49:02
比如一直一个50×50的矩阵,由0,1,2,3组成,我想把0的位置表示为白色的方格,1的位置标示为黑色的方格,2的位置是白色方格上有红点,3是黑色方格上有红点?请教各位前辈如何编程?如果matlab不行,可以用哪个软件达到目的呢?
矩阵是由0,1,2,3这四个数字随机分配组成的。比如,[2 3 1 2 3 1 0.....;.......;....]
麻烦给出具体程序!!!

程序代码如下:通过设置row and col的大小改变矩阵的大小,每一个矩阵元素为16*16的块,每个元素之间用绿色隔开以便看的更清晰
function web()
row=50;
col=50;
b=floor(rand(row,col)*4);
bb=zeros(row*17+1,col*17+1,3);
bb(:,:,3)=255;
for i=1:row
for j=1:col
bb((i-1)*17+2:i*17,(j-1)*17+2:j*17,:)=mBlock(b(i,j));
end
end
figure,imshow(uint8(bb));
imwrite(uint8(bb),'web.bmp');

function a=mBlock(n)
switch n
case 0
a=ones(16,16,3)*255;
case 1
a=zeros(16,16,3);
case 2
a=ones(16,16,3)*255;
a(3:4:end-1,3:4:end-1,2)=0;
a(3:4:end-1,3:4:end-1,3)=0;
case 3
a=zeros(16,16,3)*255;
a(2:4:end-1,2:4:end-1,1)=255;
otherwise
error('beyond the domain:0,1,2,3');
end
% figure,imshow(uint8(a));

0,1,2,3组成 这个是什么意思呢
是吧矩阵分为四个部分吗?那具体是怎么分的?平均还是有什么要求?