how can i create a graph by selecting random edges in a set of given edges?

1 view (last 30 days)
hi, i need to create an graph with edges=10 and nodes=5, since i can have 1024 different combinations with out selfloops, how can i generate a graph by selecting random edges

Answers (1)

BhaTTa
BhaTTa on 9 Sep 2024
@Krishna Bezawada, to generate a graph with 5 nodes and 10 edges in MATLAB, you can use the graph function. Since you want to randomly select edges without self-loops, you can follow these steps:
  1. Generate all possible edges without self-loops for a graph with 5 nodes.
  2. Randomly select 10 edges from these possible edges.
  3. Create the graph using the selected edges.
Here's a MATLAB script to accomplish this:
% Number of nodes and edges
numNodes = 5;
numEdges = 10;
% Generate all possible edges without self-loops
allEdges = nchoosek(1:numNodes, 2); % Combinations of two nodes
% Check the number of possible edges
numPossibleEdges = size(allEdges, 1);
% Ensure that the number of edges is feasible
if numEdges > numPossibleEdges
error('The number of edges exceeds the possible number without self-loops.');
end
% Randomly select edges
selectedEdgesIdx = randperm(numPossibleEdges, numEdges);
selectedEdges = allEdges(selectedEdgesIdx, :);
% Create and plot the graph
G = graph(selectedEdges(:, 1), selectedEdges(:, 2));
% Plot the graph
figure;
plot(G);
title('Randomly Generated Graph');

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!