Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 在MATLAB中构造邻接矩阵

考虑布置在N×M大小的网格上的一组点。我试图建立邻接矩阵,以便相邻点连接。

例如,在带有图形的3x3网格中:

1-2-3 | | | 4-5-6 | | | 7-8-9 我们应该有相应的邻接矩阵:

+---+------------------------------------------------------+ | | 1 2 3 4 5 6 7 8 9 | +---+------------------------------------------------------+ | 1 | 0 1 0 1 0 0 0 0 0 | | 2 | 1 0 1 0 1 0 0 0 0 | | 3 | 0 1 0 0 0 1 0 0 0 | | 4 | 1 0 0 0 1 0 1 0 0 | | 5 | 0 1 0 1 0 1 0 1 0 | | 6 | 0 0 1 0 1 0 0 0 1 | | 7 | 0 0 0 1 0 0 0 1 0 | | 8 | 0 0 0 0 1 0 1 0 1 | | 9 | 0 0 0 0 0 1 0 1 0 | +---+------------------------------------------------------+ 另外,该解决方案应适用于4和8连接的相邻点,即:

oooo o X o vs. o X o oooo 这是我到目前为止的代码:

N = 3; M = 3; adj = zeros(N*M); for i=1:N for j=1:M k = sub2ind([NM],i,j); if i>1 ii=i-1; jj=j; adj(k,sub2ind([NM],ii,jj)) = 1; end if i1 ii=i; jj=j-1; adj(k,sub2ind([NM],ii,jj)) = 1; end if j
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 22:53


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.