N=400; D=16; rand('state',0); m1=[0 0 1 0; 0 1 1 1; 0 0 1 0; 0 0 0 0]; m2=[0 1 0 0; 0 1 0 0; 0 1 0 0; 0 1 0 0]; m3=[1 1 1 1; 0 0 0 0; 0 0 0 0; 0 0 0 0]; m4=[1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1]; m5=[0 0 0 0; 0 0 0 0; 1 1 0 0; 1 1 0 0]; m6=[1 1 1 1; 1 0 0 1; 1 0 0 1; 1 1 1 1]; m7=[0 0 0 0; 0 1 1 0; 0 1 1 0; 0 0 0 0]; m8=[0 0 0 1; 0 0 0 1; 0 0 0 1; 0 0 0 1]; nfeat=8; rr=0.5+rand(nfeat,1)*0.5; mut=[rr(1)*m1(:) rr(2)*m2(:) rr(3)*m3(:) rr(4)*m4(:) rr(5)*m5(:) ... rr(6)*m6(:) rr(7)*m7(:) rr(8)*m8(:)]'; s=rand(N,nfeat)<0.3; % Generate Data Y=s*mut+randn(N,D)*0.1; set(gcf,'Color',[0.2 0.4 0.6]); colormap gray; k=0; nrows=10; for i=1:nrows; for j=1:nrows; k=k+1; subplot(nrows,nrows,k); imagesc(reshape(Y(k,:),4,4),[0 2]); axis off; axis equal; end; end;