matlab的ism实现,ism模型的matlab实现

该博客详细介绍了如何使用MATLAB实现ISM(Information Systems Modeling)模型,包括可达矩阵的求解、区域划分、级别划分的步骤,并通过一个具体的例子展示了MATLAB代码的运行过程,最终得到了各级别的元素划分结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《ism模型的matlab实现》由会员分享,可在线阅读,更多相关《ism模型的matlab实现(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:nfor j=1:nfor k=1:nif A(i,k)&B(k,j)A(i,j)=1;endendendendendA。

2、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,通过查找对角线为0的元素位置将所对应。

3、的行列均赋值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级:)rdisp(元素为)iA(i,i)=0;endendfor i=1:nif A(i,i)=0A(i,:)=0;A(:,i)=0;endendr=r+1;end4.课本例题程序验证请输入矩阵维数:7请输入邻接矩阵:1 1 1 0 1 1 00 1 0 0 1 1 00 1 1 0 1 1 00 1 1 1 1 1 00 0 0 0 1 0 00 1 0 0 1 1 00 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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值