39 views (last 30 days)

I have a square area of gridpoints and I'm trying to create a graph where each point is joined to its neighbouring points based on a Chebychev distance. From an earlier question here, I have the following methodology:

M = 50; N = 50;

[I,J] = ndgrid(1:M,1:N);

IJ = [I(:),J(:)];

[W,K] = pdist2(IJ,IJ,'chebychev','Smallest',9);

From here, columns of W containing only 1 can be selected and can be matched with columns of K to get the adjacency matrix. In this case however, I want to create a graph where the edges of the square are wrapped, that is, the leftmost (or topmost) points are also connected to the rightmost (or bottommost) points. How can I add this condition in pdist2?

Rik
on 21 Jan 2021

Rik
on 21 Jan 2021

I meant something like this:

IJ=repmat(IJ,3,3);

[W,K] = pdist2(IJ,IJ,'chebychev','Smallest',9);

You will have to do something with W and K to account for all the rows and columns you added.

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

Start Hunting!
## 0 Comments

Sign in to comment.