ImageVerifierCode 换一换
格式:DOCX , 页数:6 ,大小:17.94KB ,
资源ID:3666446      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3666446.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(复杂网络聚类系数和平均路径长度计算的MATLAB源代码.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

复杂网络聚类系数和平均路径长度计算的MATLAB源代码.docx

1、复杂网络聚类系数和平均路径长度计算的MATLAB源代码复杂网络聚类系数和平均路径长度计算的MATLAB源代码申明:文章来自XX用户carrot_hy复杂网络的代码总共是三个m文件,复制如下:第一个文件,CCM_ClusteringCoef.mfunction Cp_Global, Cp_Nodal = CCM_ClusteringCoef(gMatrix, Types)% CCM_ClusteringCoef calculates clustering coefficients.% Input:% gMatrix adjacency matrix% Types type of graph: b

2、inary,weighted,directed,all(default).% Usage:% Cp_Global, Cp_Nodal = CCM_ClusteringCoef(gMatrix, Types) returns% clustering coefficients for all nodes Cp_Nodal and average clustering% coefficient of network Cp_Global.% Example:% G = CCM_TestGraph1(nograph);% Cp_Global, Cp_Nodal = CCM_ClusteringCoef(

3、G);% Note:% 1) one node have vaule 0, while which only has a neighbour or none.% 2) The dircted network termed triplets that fulfill the follow condition % as non-vacuous: j-i-k and k-i-j,if dont satisfy with that as % vacuous, just like: j-i,k-i and i-j,i-k. and the closed triplets% only j-i-k = j-

4、k and k-i-j = k-j.% 3) ALL type network code from Mika Rubinovs BCT toolkit.% Refer:% 1 Barrat et al. (2004) The architecture of the plex weighted networks. % 2 Wasserman,S.,Faust,K.(1994) Social Network Analysis: Methods and% Applications.% 3 Tore Opsahl and Pietro Panzarasa (2009). Clustering in W

5、eighted % Networks. Social Networks31(2).% See also CCM_Transitivity% Written by Yong Liu, Oct,2007% Center for putational Medicine (CCM),% National Laboratory of Pattern Recognition (NLPR),% Institute of Automation,Chinese Academy of Sciences (IACAS), China.% Revise by Hu Yong, Nov, 2010% : % based

6、 on Matlab 2006a% $Revision: 1.0, Copywrite (c) 2007error(nargchk(1,2,nargin,struct);if(nargin 0);%Ensure binary networkfor i = 1:N neighbor = (gMatrix(i,:) 0); Num = sum(neighbor);%number of neighbor nodes temp = gMatrix(neighbor, neighbor); if(Num 1), Cp_Nodal(i) = sum(temp(:)/Num/(Num-1); end end

7、 case WEIGHTED% Weighted network - arithmetic mean for i = 1:N neighbor = (gMatrix(i,:) 0); n_weight = gMatrix(i,neighbor); Si = sum(n_weight); Num = sum(neighbor); if(Num 1), n_weight = ones(Num,1)*n_weight; n_weight = n_weight + n_weight; n_weight = n_weight.*(gMatrix(neighbor, neighbor) 0); Cp_No

8、dal(i) = sum(n_weight(:)/(2*Si*(Num-1); endend %case WEIGHTED% Weighted network - geometric mean%A = (gMatrix= 0);%G3 = diag(gMatrix.(1/3) )3);)%A(A = 0) = inf; %close-triplet no exist,let CpNode=0 (A=inf)%CpNode = G3./(A.*(A-1);case DIRECTED, % Directed networkfor i = 1:N inset = (gMatrix(:,i) 0);

9、%in-nodes set outset = (gMatrix(i,:) 0); %out-nodes set if(any(inset & outset) allset = and(inset, outset); % Ensure aji*aik 0,j belongs to inset,and k belongs to outset total = sum(inset)*sum(outset) - sum(allset); tri = sum(sum(gMatrix(inset, outset); Cp_Nodal(i) = tri./total; end end %case DIRECT

10、ED, % Directed network - clarity format (from Mika Rubinov, UNSW)%G = gMatrix + gMatrix; %symmetrized%D = sum(G,2); %total degree%g3 = diag(G3)/2; %number of triplet%D(g3 = 0) = inf; %3-cycles no exist,let Cp=0%c3 = D.*(D-1) - 2*diag(gMatrix2); %number of all possible 3-cycles%Cp_Nodal = g3./c3; %No

11、te: Directed & weighted network (from Mika Rubinov)case ALL,%All typeA = (gMatrix= 0); %adjacency matrixG = gMatrix.(1/3) + (gMatrix.).(1/3);D = sum(A + A.,2); %total degreeg3 = diag(G3)/2; %number of tripletD(g3 = 0) = inf; %3-cycles no exist,let Cp=0c3 = D.*(D-1) - 2*diag(A2);Cp_Nodal = g3./c3;oth

12、erwise,%Eorr Msg error(Type only four: Binary,Weighted,Directed,and All);endCp_Global = sum(Cp_Nodal)/N; %第二个文件:CCM_AvgShortestPath.mfunction D_Global, D_Nodal = CCM_AvgShortestPath(gMatrix, s, t)% CCM_AvgShortestPath generates the shortest distance matrix of source nodes % indice s to the target no

13、des indice t.% Input:% gMatrix symmetry binary connect matrix or weighted connect matrix% s source nodes, default is 1:N% t target nodes, default is 1:N% Usage:% D_Global, D_Nodal = CCM_AvgShortestPath(gMatrix) returns the mean% shortest-path length of whole network D_Global,and the mean shortest-pa

14、th% length of each node in the network% Example:% G = CCM_TestGraph1(nograph);% D_Global, D_Nodal = CCM_AvgShortestPath(G);% See also dijk, MEAN, SUM% Written by Yong Liu, Oct,2007% Modified by Hu Yong, Nov 2010% Center for putational Medicine (CCM), % Based on Matlab 2008a% $Revision: 1.0, Copywrit

15、e (c) 2007% # Input check #error(nargchk(1,3,nargin,struct);N = length(gMatrix);if(nargin 2 | isempty(s), s = (1:N);else s = s(:); endif(nargin 0,2);% D_Nodal(isnan(D_Nodal) = ;D_Global = mean(D_Nodal);第三个文件: dijk.mfunction D = dijk(A,s,t)%DIJK Shortest paths from nodes s to nodes t using Dijkstra a

16、lgorithm.% D = dijk(A,s,t)% A = n x n node-node weighted adjacency matrix of arc lengths% (Note: A(i,j) = 0 = Arc (i,j) does not exist;% A(i,j) = NaN = Arc (i,j) exists with 0 weight)% s = FROM node indices% = (default), paths from all nodes% t = TO node indices% = (default), paths to all nodes% D =

17、 |s| x |t| matrix of shortest path distances from s to t% = D(i,j), where D(i,j) = distance from node i to node j %(If A is a triangular matrix, then putationally intensive node% selection step not needed since graph is acyclic (triangularity is a % sufficient, but not a necessary, condition for a g

18、raph to be acyclic)% and A can have non-negative elements)%(If |s| |t|, then DIJK is faster if DIJK(A,t,s) used, where D is now% transposed and P now represents successor indices)% (Based on Fig. 4.6 in Ahuja, Magnanti, and Orlin, Network Flows,% Prentice-Hall, 1993, p. 109.)% Copyright (c) 1998-200

19、0 by Michael G. Kay% Matlog Version 1.3 29-Aug-2000% % Modified by T, Dec 2000, to delete paths% Input Error Checking *error(nargchk(1,3,nargin,struct);n,cA = size(A);if nargin 2 | isempty(s), s = (1:n); else s = s(:); endif nargin 3 | isempty(t), t = (1:n); else t = t(:); endif any(any(tril(A) = 0)

20、% A is upper triangular isAcyclic = 1;elseif any(any(triu(A) = 0)% A is lower triangular isAcyclic = 2;else% Graph may not be acyclic isAcyclic = 0;endif n = cA error(A must be a square matrix);elseif isAcyclic & any(any(A 0) error(A must be non-negative);elseif any(s n) error(s must be an integer b

21、etween 1 and ,num2str(n);elseif any(t n) error(t must be an integer between 1 and ,num2str(n);end% End (Input Error Checking) *A = A;% Use transpose to speed-up FIND for sparse AD = zeros(length(s),length(t);P = zeros(length(s),n);for i = 1:length(s) j = s(i); Di = Inf*ones(n,1); Di(j) = 0; isLab =

22、logical(zeros(length(t),1); if isAcyclic = 1 nLab = j - 1; elseif isAcyclic = 2 nLab = n - j; else nLab = 0; UnLab = 1:n; isUnLab = logical(ones(n,1); end while nLab n & all(isLab) if isAcyclic Dj = Di(j); else% Node selection Dj,jj = min(Di(isUnLab); j = UnLab(jj); UnLab(jj) = ; isUnLab(j) = 0; end

23、 nLab = nLab + 1; if length(t) n, isLab = isLab | (j = t); end jA,kA,Aj = find(A(:,j); Aj(isnan(Aj) = 0; if isempty(Aj), Dk = Inf; else Dk = Dj + Aj; end P(i,jA(Dk Di(jA) = j; Di(jA) = min(Di(jA),Dk); if isAcyclic = 1% Increment node index for upper triangular A j = j + 1; elseif isAcyclic = 2 % Decrement node index for lower triangular A j = j - 1; end %disp( num2str( nLab ); end D(i,:) = Di(t);end

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1