Clear Filters
Clear Filters

How to find if graph is connected

2 views (last 30 days)
min562
min562 on 25 Jun 2017
Commented: min562 on 26 Jun 2017
I'm trying to create Geometric random graph and here is my code I wrote that is not done yet.
% code
n = input('Enter number of nodes: ');
x=[];
y=[];
d=[];
x = rand(1,n);
y = rand(1,n);
for i = 1 : (n)
for j = 1 : (n)
d(i, j) = sqrt((x(i) - x(j)) ^ 2 + (y(i) - y(j)) ^ 2);
//finding distance of each nodes
end
end
R=0.3; //radius
edge = d <= R ;
I'm trying to find if the nodes are connected or not but I don't have any idea what I can use to find the answer. Please help.

Accepted Answer

Joshua
Joshua on 26 Jun 2017
I think this is what you are looking for. The line with the variable 'con' is not really necessary, but if you need to reference the connections later it would be convenient.
R=0.3; %%radius
n = input('Enter number of nodes: ');
d=zeros(n,n);
con=zeros(n,n); % matrix of zeros indicates none are connected
x = rand(1,n);
y = rand(1,n);
plot(x,y,'o');
hold on
for i = 1 : (n)
for j = 1 : (n)
d(i, j) = sqrt((x(i) - x(j)) ^ 2 + (y(i) - y(j)) ^ 2);
if (d(i,j)<R)
con(i,j)=1; % sets to 1 to indicate connection between node i and j
hold on
line([x(i), x(j)],[y(i), y(j)]);
end
end
end

More Answers (0)

Categories

Find more on Graph and Network Algorithms in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!