Это похоже на проблему, которую мне пришлось решить. Что я делаю ниже, так это получаю координаты всех точек с помощью сетки. Затем я получаю расстояние от каждой точки до любой другой точки с помощью pdist, когда расстояние равно 1, это соединение, которое мы хотим нарисовать. Затем мы строим все эти линии.
%# enter your prerequisites
I=400; R=0.1; N=sqrt(I); M=sqrt(I);
%# create vertices on square grid defined by two vectors
[X Y] = meshgrid(1:N,1:M); X = X(:); Y = Y(:);
%# create adjacencymatrix with connections between all neighboring vertices
adjacency = squareform( pdist([X Y], 'cityblock') == 1 );
%# plot adjacenymatrix on grid with scale R and origin at the center
[xx yy] = gplot(adjacency, [X Y]);
xx = xx-round(sqrt(I)/2); %# this centers the origin
yy = yy-round(sqrt(I)/2);
plot(xx*R, yy*R)