If you're interested in plotting or filtering blobs, you could create the matrix directly, and display it using imagesc.
In your case
%{
Set up the image : make an 11x11 array of zeros (zeros=background), since your axes limits went from 0 to 10, and a matrix can only start at element 1
%}
m = zeros(11);
%{
write the blob into the image. Remember that we started at 1 instead of 0
%}
m(2:6,2:6)=1;
% display the blob with imagesc to get the axes right
figure, imagesc(0:10,0:10,m)
% flip axes so that they're positioned like plot axes
axis xy
% use grayscale colormap so that you see better what's going on in the image
colormap gray
You can now filter m and display the result. If you'd rather have the image black on white than white on black, use 1-m instead of m in imagesc
EDIT: As an alternative way to create a matrix from a blob, you can use inpolygon, if you know the corners of your blob. In this case:
% create coordinates of your matrix
[xCoord,yCoord] = meshgrid(0:10,0:10);
xCoord = xCoord(:);yCoord = yCoord(:); % make vectors
% check whether the pixels are inside (or on) the polygon
[inPoly,onPoly] = inpolygon(xCoord,yCoord,[5,1,1,5],[1,1,5,5]);
% now m from above is either
m = inPoly;
% or, if you want to accept pixels whose center is on the polygon lines
m = inPoly | onPoly; % this is what we had above
% and reshape to get a 2d array from our vector. Then display as above
m = reshape(m,11,11);