ISM模型的matlab实现.ppt
《ISM模型的matlab实现.ppt》由会员分享,可在线阅读,更多相关《ISM模型的matlab实现.ppt(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ISM模型的matlab实现张文龙、赵洋、张强、滕凤君程序设计思路:程序设计思路:1 1 1 1、可达矩阵的求解、可达矩阵的求解、可达矩阵的求解、可达矩阵的求解A A A A:邻接矩阵:邻接矩阵:邻接矩阵:邻接矩阵E=zerosE=zerosE=zerosE=zeros(A A A A););););通过布尔运算求出通过布尔运算求出通过布尔运算求出通过布尔运算求出A2A2A2A2、A3A3A3A3直至直至直至直至An=An-An=An-An=An-An=An-1,1,1,1,停止运算,此时的停止运算,此时的停止运算,此时的停止运算,此时的AnAnAnAn便是要求的可达矩阵。便是要求的可达矩阵。
2、便是要求的可达矩阵。便是要求的可达矩阵。具体实施:具体实施:具体实施:具体实施:通过将上次循环得出来的通过将上次循环得出来的通过将上次循环得出来的通过将上次循环得出来的A A A A赋给赋给赋给赋给E E E E,并判断新,并判断新,并判断新,并判断新一轮循环得出的一轮循环得出的一轮循环得出的一轮循环得出的A A A A是否与是否与是否与是否与E E E E相等,决定是否终相等,决定是否终相等,决定是否终相等,决定是否终止循环。循环终止意味着此时的止循环。循环终止意味着此时的止循环。循环终止意味着此时的止循环。循环终止意味着此时的A A A A就是最终就是最终就是最终就是最终的可达矩阵。的可达
3、矩阵。的可达矩阵。的可达矩阵。具体程序如下:具体程序如下:n=input(n=input(请输入矩阵维数请输入矩阵维数请输入矩阵维数请输入矩阵维数:);:);A=input(A=input(请输入邻接矩阵请输入邻接矩阵请输入邻接矩阵请输入邻接矩阵:);:);E=zeros(n);E=zeros(n);B=A;B=A;while(norm(A-E)0)while(norm(A-E)0)E=A;E=A;for i=1:nfor i=1:n for j=1:n for j=1:n for k=1:n for k=1:n if A(i,k)&B(k,j)if A(i,k)&B(k,j)A(i,j)=1
4、;A(i,j)=1;end end end end end endendendendendAA2 2、区域划分、区域划分、区域划分、区域划分找出各个元素相对应的可达集找出各个元素相对应的可达集找出各个元素相对应的可达集找出各个元素相对应的可达集P P P P、先行集、先行集、先行集、先行集Q QQ Q以以以以及两者的交集及两者的交集及两者的交集及两者的交集S S S S求解求解求解求解P P P P:找出每一行中元素为:找出每一行中元素为:找出每一行中元素为:找出每一行中元素为1 1 1 1对应的列对应的列对应的列对应的列求解求解求解求解Q QQ Q:找出每一列中元素为:找出每一列中元素为:找
5、出每一列中元素为:找出每一列中元素为1 1 1 1对应的行对应的行对应的行对应的行求解求解求解求解S S S S:套用:套用:套用:套用MatlabMatlabMatlabMatlab本身自带的函数本身自带的函数本身自带的函数本身自带的函数S=intersect(P,Q);S=intersect(P,Q);或者编写或者编写或者编写或者编写MMMM文件函数,如下所示:文件函数,如下所示:文件函数,如下所示:文件函数,如下所示:具体程序如下:具体程序如下:具体程序如下:具体程序如下:for i=1:nP=find(A(i,:);Q=find(A(:,i);S=intersect(P,Q);P;Q;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ISM 模型 matlab 实现
限制150内