㈠ 怎么根据邻接矩阵来求可达矩阵对于ISM有些我不是很懂,能解决我疑问的追加50分。
这个你可以画个简单图看看, 写出它的邻接矩阵A, 计算A^2, 体会一下A与A相乘时, 其中的1和1相乘恰好就是 一结点到另一结点再到另一结点的路, 有路就是1, 否则是0.
在这不好说清楚, 还需自己揣摩
㈡ 怎么用C语言将邻接矩阵转化为可达矩阵 (急)
第一步,二重循环:邻接矩阵+单位矩阵
for i=0 to shangxian (i++)
for j=0 to shangxian (j++)
if i=j then a[i,j]=a[i,j]+1(单位矩阵对角线上的值为1)
nextj,i
第二步,所得矩阵和自身相乘(二重循环)。矩阵乘法需要些好多字,就不写了,相信你知道,至少也应该能查到。
第三步,相乘后得到的矩阵和为相乘前的矩阵比较,(也是二重循环)。如相等则完事,否则重复执行第二、三步。
如果自动执行二、三的相乘和比较过程,则需要在外面加一层条件循环。
㈢ 使用解释结构模型的可达矩阵求解方法【(M +I)i≠(M +I)i+1=(M +I)i+2=N,则N就是可达矩阵。】
可达矩阵
是用矩阵形式来描述有向连接图各节点之间经过一定长度的通路后可达到的程度。
在实际系统建模工程中,有向图D={S,R}中,对于Si,Sj 属于S,如果从Si到Sj有任何一条通路存在,则可称Si可达Sj。
利用布尔矩阵的运算性质给出了计算有向图可达矩阵的方法,该方法计算简便.
求解方法:
如果一个矩阵,仅其对角线元素为1,其他元素均为0,这样的矩阵称为单位矩阵,用I表示。
㈣ 怎么样用matlab编写程序借助二元矩阵计算可达矩阵
编程思路如下:
假设邻接矩阵为A,I为链路长度矩阵。经过n步后为可达矩阵M,
则有:
B=(A+I)^n=I+A+A^2+..A^n
再将B中非零元素改为1,零元素不变即为A的n步可达矩阵M;
代码如下:
function M=reach(A,I,n)
%A,I和n要给定
[row,cow]=size(A) %此处row和cow应该相等
E=ones(row,cow) %生成单位矩阵E
B=zeros(row,cow) %初始全0矩阵B
B=B+I;
%循环+A^n
for i=1:n
B=B+A^i;
end
%将B中非零元素改为1,零元素不变,即让B和E进行交运算。
M=B&E;
end
㈤ 的可达矩阵怎么运算,有没有直接计算的
编程思路: 假设邻接矩阵A,I链路度矩阵经n步达矩阵M 则: B=(A+I)^n=I+A+A^贰+..A^n 再B非零元素改依零元素变即An步达矩阵M; 代码: function M=reach(A,I,n) %A,In要给定 [row,cow]=size(A) %处rowcow应该相等 E=ones(row,cow) %单位矩阵E B=zeros(row,cow) %初始全0矩阵B B=B+I; %循环+A^n for i=依:n B=B+A^i; end %B非零元素改依零元素变,即让BE进行交运算 M=B&E; en
㈥ 可达矩阵
在多个向量中从向量Si到向量Sj共有多少种方法可以走通。如果没有方法可以走通,则该向量组不是可达矩阵,否则即为可达矩阵
㈦ 可达矩阵计算 乘方算法
n个结点
B = A + A^2 + ... + A^(n-1)
将B中所有大于0的元素赋值为1
就得到可达矩阵
㈧ 怎样写出系统的可达矩阵R 你能给出几种方法
在实际系统建模工程中,有向图D={S,R}中,对于Si,Sj属于S,如果从Si到Sj有任何一条通路存在,则可称Si可达Sj,四种。
可达矩阵,指的是用矩阵形式来描述有向图的各节点之间经过一定长度的通路后可达到的程度。可达矩阵的计算方法是利用布尔矩阵的运算性质。
可达矩阵对应的是拓扑几何,而不是通常讲的几何。它描述的是要素之间的相对位置的关系。跟具体的几何坐标无关。