matlab的ism实现,ism模型的matlab实现
《ism模型的matlab實(shí)現(xiàn)》由會員分享,可在線閱讀,更多相關(guān)《ism模型的matlab實(shí)現(xiàn)(4頁珍藏版)》請?jiān)诮痄z頭文庫上搜索。
1、ISM模型的matlab實(shí)現(xiàn)1、可達(dá)矩陣的求解A:鄰接矩陣E=zeros(A);通過布爾運(yùn)算求出A2、A3直至An=An-1,停止運(yùn)算,此時(shí)的An便是要求的可達(dá)矩陣。具體實(shí)施:通過將上次循環(huán)得出來的A賦給E,并判斷新一輪循環(huán)得出的A是否與E相等,決定是否終止循環(huán)。循環(huán)終止意味著此時(shí)的A就是最終的可達(dá)矩陣。具體程序如下:n=input(請輸入矩陣維數(shù):);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、區(qū)域劃分找出各個(gè)元素相對應(yīng)的可達(dá)集P、先行集Q以及兩者的交集S求解P:找出每一行中元素為1對應(yīng)的列求解Q:找出每一列中元素為1對應(yīng)的行求解S:套用Matlab本身自帶的函數(shù)S=intersect(P,Q);或者編寫M文件函數(shù),如下所示:具體程序如下:for i=1:nP=find(A(i,:);Q=find(A(:,i);S=intersect(P,Q);P;Q;S;3、級別劃分因?yàn)镾是P與Q的交集,所以只需判斷P與S的長度是否相等便可進(jìn)行級別劃分。M=zeros(n);r=1;r為第幾級求出每個(gè)元素的P、Q、S,再將相應(yīng)的對角線元素A(i,i)賦予0,通過查找對角線為0的元素位置將所對應(yīng)。
3、的行列均賦值0。每次循環(huán)r自增1,再進(jìn)行循環(huán),求出每一級的元素,直至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.課本例題程序驗(yàn)證請輸入矩陣維數(shù):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。
總結(jié)
以上是生活随笔為你收集整理的matlab的ism实现,ism模型的matlab实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 项目项目策划书
- 下一篇: 想要写出漂亮文档,(表情图标)资源你值得