• 大小: 18KB
    文件类型: .zip
    金币: 2
    下载: 2 次
    发布日期: 2021-06-10
  • 语言: Matlab
  • 标签: ISM  骨架矩阵  

资源简介

MATLAB程序对任意规模的关联图进行ISM计算,自定义输入数据格式和输入方法,输出元素分层结果、对应的骨架矩阵以及所有的关联回路,

资源截图

代码片段和文件信息

%% Example title
% Summary of example objective

%% Section 1 title
% Description of first code block

%将Excel表中数据读取至MATLAB中 
%[NUM]=xlsread(‘Define‘);
[NUM]=xlsread(‘testData‘);
%读取初始要素的个数
length=size(NUM1);
%获得影像因素的最大个数
maxlen=size(NUM2);
%将要素-影像因素表转换为邻接矩阵
adjacentMatrix=zeros(lengthlength);
for i=1:length
    j=1;
    while(j<=maxlen&&isnan(NUM(ij))==0)
    adjacentMatrix(iNUM(ij))=1;
    j=j+1;
    end;
end;
adjacentMatrix=adjacentMatrix-eye(lengthlength);
save adjacentMatrix;
%生成单位矩阵
I=eye(length);
%生成可达矩阵
rMatrix=(adjacentMatrix|I);
reachableMatrix=(adjacentMatrix|I);
for i=1:length
    reachableMatrix=logicMultiply(reachableMatrixrMatrix);
end;
save reachableMatrix;

%输出关联回路
r=1;
for i=1:(length-1)
    for j=(i+1):length
        if(isequal(reachableMatrix(i:)reachableMatrix(j:)))
            contactLoop(r:)=[ij];
            r=r+1;  
        end;
        
    end;
end;
save contactLoop;

%约简回路
CreachableMatrix=reachableMatrix;
l=1;
for(i=1:size(contactLoop1))
    if(i<2||(i>=2&&contactLoop(i1)~=contactLoop(i-11)))
    CreachableMatrix((contactLoop(i1)-l+1):)=[];
    Edelete(l1)=contactLoop(i1);
    l=l+1;
    end;
end;
save Edelete;
l=1;
for(j=1:size(contactLoop1))
    if(j<2||(j>=2&&contactLoop(j1)~=contactLoop(j-11)))
    CreachableMatrix(:(contactLoop(j1)-l+1))=[];
    l=l+1;
    end;
end;
save CreachableMatrix;

%生成骨架矩阵
II=eye(size(CreachableMatrix1));
skeletonMatrix=CreachableMatrix-II-logicMultiply((CreachableMatrix-II)(CreachableMatrix-II));
save skeletonMatrix;
  



%% Section 2 title
% Description of second code block
a=2;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-02-12 10:41  ISM\
     文件       14824  2016-11-13 23:08  ISM\adjacentMatrix.mat
     文件       39320  2016-11-13 23:08  ISM\contactLoop.mat
     文件       40640  2016-11-13 23:08  ISM\CreachableMatrix.mat
     文件        8724  2016-11-13 11:21  ISM\Define.xlsx
     文件       41888  2016-11-13 23:08  ISM\Edelete.mat
     文件        1743  2016-11-13 23:08  ISM\ISM.m
     文件         323  2016-11-13 11:56  ISM\logicMultiply.m
     文件       33552  2016-11-13 23:08  ISM\reachableMatrix.mat
     文件       42112  2016-11-13 23:08  ISM\skeletonMatrix.mat

评论

共有 条评论