Create and plot random points with connected lines

2 Ansichten (letzte 30 Tage)
Ismaeel
Ismaeel am 3 Jan. 2017
Kommentiert: Ismaeel am 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

Akzeptierte Antwort

Roger Stafford
Roger Stafford am 3 Jan. 2017
Bearbeitet: Roger Stafford am 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 Kommentar
Ismaeel
Ismaeel am 3 Jan. 2017
Thank you so much Roger; easy code and elegant and works as I want. Appreciate it...

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 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

Kategorien

Mehr zu 2-D and 3-D Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by