请教关于点、边关联矩阵到边、边邻接矩阵的转化问题
问题描述:节点数为6(包括起始及终止节点,节点处管路可以有分支),管路数为5矩阵A为
-1 0000
1-1000
0 1 -100
0 01 -1 -1
0 0010
0 0001
上面这个为点边关联矩阵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的转化。我这样描述不知道清楚不,请大神帮忙看看,万分感激!
自己顶一下:'( 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 li913 发表于 2015-1-13 20:29
Program Test
Implicit None
Integer, Parameter :: M = 6, N = 5
3Q!已解决
页:
[1]