收藏 分销(赏)

ISM模型的matlab实现.doc

上传人:精**** 文档编号:3301051 上传时间:2024-06-30 格式:DOC 页数:4 大小:1.16MB
下载 相关 举报
ISM模型的matlab实现.doc_第1页
第1页 / 共4页
ISM模型的matlab实现.doc_第2页
第2页 / 共4页
ISM模型的matlab实现.doc_第3页
第3页 / 共4页
ISM模型的matlab实现.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

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)&B(k,j) A(i,j)=1; end end en

2、dendendA2、区域划分找出各个元素相对应的可达集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)&isempty(Q)&( length(P)=length(S) disp(第r级:) r disp(元素为) i A(i,i)=0; endendfor i=1:nif A(i,i)=0A(i,:)=0;A(:,i)=0;endend r=r+1;end4.课本例题程序验证请输入矩阵维数: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

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服