Fortran Coder

查看: 7065|回复: 3
打印 上一主题 下一主题

[空间几何] 请教关于点、边关联矩阵到边、边邻接矩阵的转化问题

[复制链接]

8

帖子

2

主题

0

精华

入门

F 币
41 元
贡献
24 点
跳转到指定楼层
楼主
发表于 2015-1-13 15:29:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1F 币
问题描述:节点数为6(包括起始及终止节点,节点处管路可以有分支),管路数为5

矩阵A为
-1   0  0  0  0
1  -1  0  0  0
0   1 -1  0  0
0   0  1 -1 -1
0   0  0  1  0
0   0  0  0  1
上面这个为点边关联矩阵A(6X5),行号是节点号,列号是管路号(简单讲就是对一个有串并联管网的描述),边与节点相连,且边中流体流向节点,则矩阵元素为1,边与节点相连,且边中流体流离节点,则矩阵元素为-1,边与节点不相连,矩阵元素为0。对应的邻接矩阵为B(5X5)是管路之间关系的描述。只有当管路i流到管道j时对应B的元素B(i,j)=1,没有连通关系对应的元素值为0(如B(j,i),B(i,i),B(j,j)都为零),在每行中,元素为1对应的管路流到元素为-1对应的管路,
矩阵B为
0 1 0 0 0
0 0 1 0 0
0 0 0 1 1
0 0 0 0 0
0 0 0 0 0
最终实现从矩阵A到B的转化。我这样描述不知道清楚不,请大神帮忙看看,万分感激!

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

8

帖子

2

主题

0

精华

入门

F 币
41 元
贡献
24 点
沙发
 楼主| 发表于 2015-1-13 15:33:28 | 只看该作者
自己顶一下
回复

使用道具 举报

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
板凳
发表于 2015-1-13 20:29:41 | 只看该作者
[Fortran] 纯文本查看 复制代码
Program Test
  Implicit None
  Integer, Parameter :: M = 6, N = 5
  Integer G(N, M), W(N, N), I, J, K
G = reshape( (/ -1,   0,  0,  0,  0,&
                1,  -1,  0,  0,  0,&
                0,   1, -1,  0,  0,&
                0,   0,  1, -1, -1,&
                0,   0,  0,  1,  0,&
                0,   0,  0,  0,  1/), (/n,m/) )
  W = 0
  Do I = 1, N
    Do J = 1, M
      If (G(I,J)==1) Then
        Do K = 1, N
          If (G(K,J)==-1) W(K, I) = 1
        End Do
        Exit
      End If
    End Do
  End Do
  Write (*, '(5i4)') W
!   0   1   0   0   0
!   0   0   1   0   0
!   0   0   0   1   1
!   0   0   0   0   0
!   0   0   0   0   0

End Program Test

评分

参与人数 1F 币 +9 贡献 +9 收起 理由
fcode + 9 + 9 很给力!

查看全部评分

回复

使用道具 举报

8

帖子

2

主题

0

精华

入门

F 币
41 元
贡献
24 点
地板
 楼主| 发表于 2015-1-17 20:08:33 | 只看该作者
li913 发表于 2015-1-13 20:29
[mw_shl_code=fortran,true]Program Test
  Implicit None
  Integer, Parameter :: M = 6, N = 5

3Q!已解决
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-12-24 00:04

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表