Create and plot random points with connected lines

2 vues (au cours des 30 derniers jours)
Ismaeel
Ismaeel le 3 Jan 2017
Commenté : Ismaeel le 4 Jan 2017
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

Réponse acceptée

Roger Stafford
Roger Stafford le 3 Jan 2017
Modifié(e) : Roger Stafford le 3 Jan 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 commentaire
Ismaeel
Ismaeel le 3 Jan 2017
Thank you so much Roger; easy code and elegant and works as I want. Appreciate it...

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 3 Jan 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

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by