ISM模型的matlab实现.ppt

上传人:牧羊曲112 文档编号:6508831 上传时间:2023-11-07 格式:PPT 页数:12 大小:247.50KB
返回 下载 相关 举报
ISM模型的matlab实现.ppt_第1页
第1页 / 共12页
ISM模型的matlab实现.ppt_第2页
第2页 / 共12页
ISM模型的matlab实现.ppt_第3页
第3页 / 共12页
ISM模型的matlab实现.ppt_第4页
第4页 / 共12页
ISM模型的matlab实现.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《ISM模型的matlab实现.ppt》由会员分享,可在线阅读,更多相关《ISM模型的matlab实现.ppt(12页珍藏版)》请在三一办公上搜索。

1、ISM模型的matlab实现,张文龙、赵洋、张强、滕凤君,程序设计思路:,1、可达矩阵的求解A:邻接矩阵E=zeros(A);通过布尔运算求出A2、A3直至An=An-1,停止运算,此时的An便是要求的可达矩阵。具体实施:通过将上次循环得出来的A赋给E,并判断新一轮循环得出的A是否与E相等,决定是否终止循环。循环终止意味着此时的A就是最终的可达矩阵。具体程序如下:,n=input(请输入矩阵维数:);A=input(请输入邻接矩阵:);E=zeros(n);B=A;while(norm(A-E)0)E=A;for i=1:n for j=1:n for k=1:n if A(i,k)end e

2、nd endendendA,2、区域划分,找出各个元素相对应的可达集P、先行集Q以及两者的交集S求解P:找出每一行中元素为1对应的列求解Q:找出每一列中元素为1对应的行求解S:套用Matlab本身自带的函数S=intersect(P,Q);或者编写M文件函数,如下所示:具体程序如下:,for i=1:nP=find(A(i,:);Q=find(A(:,i);S=intersect(P,Q);P;Q;S;,3、级别划分,因为S是P与Q的交集,所以只需判断P与S的长度是否相等便可进行级别划分。M=zeros(n);r=1;r为第几级求出每个元素的P、Q、S,再将相应的对角线元素A(i,i)赋予0,

3、通过查找对角线为0的元素位置将所对应的行列均赋值0。每次循环r自增1,再进行循环,求出每一级的元素,直至A=M。具体程序如下:,r=1;M=zeros(n);while(isequal(A,M)for i=1:nP=find(A(i,:);Q=find(A(:,i);S=intersect(P,Q);P;Q;S;if(isempty(P)end,4.课本例题程序验证请输入矩阵维数:7请输入邻接矩阵:1 1 1 0 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 1 1 1,第r级:r=1,元素为i=5第r级:r=2,元素为i=2第r级:r=2,元素为i=6第r级:r=3,元素为i=3第r级:r=4,元素为i=1第r级:r=4,元素为i=4第r级:r=4,元素为i=7,THE ENDThanks,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号