Question about adjacent matrix of a network using MATLAB
이전 댓글 표시
I would like to know how to using the plot function to show the relationship of an adjacent matrix.It means if I want to connect a matrix, 1 means connected and 0 means no connection. Example, a matrix like this 0 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 1 0 0
I would like to know how to connect those node if they are connected.
댓글 수: 2
Paulo Silva
2011년 1월 29일
Why do you accept your own answers? You are supposed to accept those answers who are most helpful, not your own extra information!
yuen
2011년 1월 29일
답변 (2개)
Paulo Silva
2011년 1월 29일
spy([0 1 0 1 1 0 1 1 0 0
1 0 1 0 0 0 0 0 1 0
0 1 0 0 0 0 0 1 0 1
1 0 0 0 1 0 0 0 0 1
1 0 0 1 0 1 0 0 0 0
0 0 0 0 1 0 1 1 0 0
1 0 0 0 0 1 0 0 1 0
1 0 1 0 0 1 0 0 1 1
0 1 0 0 0 0 1 1 0 0
0 0 1 1 0 0 0 1 0 0])
Paulo Silva
2011년 1월 29일
I wonder if it's this you want?!
%Your matrix is in variable a
hold on
drawlines=1; %1 to connect points where a equals 1
markpoints=0; %1 to mark points where a equals 1
for r=1:numel(a(:,1))
for c=1:numel(a(1,:))
y=numel(a(:,1))-r+1;
x=c;
if((r~=numel(a(:,1))) & (c~=numel(a(1,:))))
if((a(r,c)==1) & (a(r+1,c+1)==1))
if (drawlines==1)
line([x x+1],[y y-1])
end
if (markpoints==1)
plot(x,y,'*')
plot(x+1,y-1,'*')
end
end
end
if((c~=1) & (r~=numel(a(:,1))))
if((a(r,c)==1) & (a(r+1,c-1)==1))
if (drawlines==1)
line([x x-1],[y y-1])
end
if (markpoints==1)
plot(x,y,'*')
plot(x-1,y-1,'*')
end
end
end
end
end
axis([1 numel(a(1,:)) 1 numel(a(:,1))])
카테고리
도움말 센터 및 File Exchange에서 Graph and Network Algorithms에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!