Create and plot random points with connected lines

3 visualizzazioni (ultimi 30 giorni)
I wondered if there is a way to plot random points I know the total number of them, and then plot the lines that connect them. The connectivity matrix (A) is known and it has a size of nXn, where n is the total number of points and all elements of A are either 0 (no connection) or 1 (connected). If possible, I want to limit the dimension of graph by (1 X sqr(2)) unit of plot. Thanks in advance

Risposta accettata

Roger Stafford
Roger Stafford il 3 Gen 2017
Modificato: Roger Stafford il 3 Gen 2017
Assume that A is symmetric with zeros on the diagonal (bidirectional connections) and that there are n points.
x = rand(n,1);
y = sqrt(2)*rand(n,1);
plot(x,y,yo)
hold on
for i1 = 1:n-1
for i2 = i1+1:n
if A(i1,i2) ~= 0
plot([x(i1),x(i2)],[y(i1),y(i2)],y-)
end
end
end
hold off
axis equal
  1 Commento
Ismaeel
Ismaeel il 3 Gen 2017
Thank you so much Roger; easy code and elegant and works as I want. Appreciate it...

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 3 Gen 2017
When you have a connectivity matrix, you can create a graph() and plot() it; https://www.mathworks.com/help/matlab/ref/graph.plot.html

Categorie

Scopri di più su 2-D and 3-D Plots in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by