为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > ISM模型的matlab实现1

ISM模型的matlab实现1

2023-01-13 4页 doc 94KB 5阅读

用户头像 个人认证

is_017931

热爱锻炼

举报
ISM模型的matlab实现1ISM模型的matlab实现1、可达矩阵的求解A:邻接矩阵E=zeros(A);通过布尔运算求出A八2、A八3…直至八八n=A八n-1停止运算,此时的AM便是要求的可达矩阵。具体实施:通过将上次循环得出来的A赋给E,并判断新一轮循环得出的A是否与E相等,决定是否终止循环。循环终止意味着此时的A就是最终的可达矩阵。具体程序如下:n=input('请输入矩阵维数:');A=input('请输入邻接矩阵:');E=zeros(n);B=A;while(norm(A-E)>0)E=A;fori=1:nforj=1:nfork=1:ni...
ISM模型的matlab实现1
ISM模型的matlab实现1、可达矩阵的求解A:邻接矩阵E=zeros(A);通过布尔运算求出A八2、A八3…直至八八n=A八n-1停止运算,此时的AM便是要求的可达矩阵。具体实施:通过将上次循环得出来的A赋给E,并判断新一轮循环得出的A是否与E相等,决定是否终止循环。循环终止意味着此时的A就是最终的可达矩阵。具体程序如下:n=input('请输入矩阵维数:');A=input('请输入邻接矩阵:');E=zeros(n);B=A;while(norm(A-E)>0)E=A;fori=1:nforj=1:nfork=1:nifA(i,k)&B(k,j)A(i,j)=1;endendendendendA2、区域划分找出各个元素相对应的可达集P、先行集Q以及两者的交集S求解P:找出每一行中元素为1对应的列求解Q:找出每一列中元素为1对应的行求解S:套用Matlab本身自带的函数S=intersect(P,Q);或者编写M文件函数,如下所示:具体程序如下:fori=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的元素位置将所对应的行列均赋值0。每次循环「自增1,再进行循环,求出每一级的元素,直至A==M。具体程序如下:r=1;M=zeros(n);while(~isequal(A,M))fori=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;endendfori=1:nifA(i,i)==0A(i,:)=0;A(:,i)=0;endendr=r+1;end4.课本例程序验证请输入矩阵维数:7请输入邻接矩阵:1110110010011001101100111110000010001001100110111第r级了=1,元素为i=5第r级丁=2,元素为i=2第r级了=2,元素为i=6第r级丁=3,元素为i=3第r级丁=4,元素为i=1第r级丁=4,元素为i=4第r级了=4,元素为i=7
/
本文档为【ISM模型的matlab实现1】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索