版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、复杂网络聚类系数和平均路径长度计算的MATL AB 源 代 码复杂网络聚类系数和平均路径长度计算的 MATLAB 源代码申明:文章来自百度用户 carrot_hy复杂网络的代码总共是三个m文件,复制如下:第一个文件, CCM_ClusteringCoef.mfunction Cp_Global, Cp_Nodal = CCM_ClusteringCoef(gMatrix, Types)% CCM_ClusteringCoef calculates clustering coefficients.% Input:%gMatrixadjacency matrix%Types type of gra
2、ph:binary,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_ClusteringC
3、oef(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 complex weighted networks.% 2 Wasserman,S.,Faust,K.(1994) Social Network Analysis: Methods and%Applications.% 3 Tore Opsahl and Pietro Panzarasa (2009). Clustering in
5、Weighted%Networks. Social Networks31(2).% See also CCM_Transitivity% Written by Yong Liu, Oct,2007% Center for Computational Medicine (CCM),% National Laboratory of Pattern Recognition (NLPR),% Institute of Automation,Chinese Academy of Sciences (IACAS), China.% Revise by Hu Yong, Nov, 2010% E-mail:
6、% based on Matlab 2006a% $Revision: 1.0, Copywrite (c) 2007error(nargchk(1,2,nargin,struct);if(nargin 0);%Ensure binary networkfor i = 1:Nneighbor = (gMatrix(i,:) 0);Num = sum(neighbor);%number of neighbor nodes temp= gMatrix(neighbor, neighbor);endif(Num 1),Cp_Nodal(i) = sum(temp(:)/Num/(Num-1);end
7、case WEIGHTED% Weighted network - arithmetic meanfor i = 1:Nneighbor = (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_Nodal(i) = sum
8、(n_weight(:)/(2*Si*(Num-1);endend%case WEIGHTED% Weighted network - geometric mean% A = (gMatrix= 0);% G3 = diag(gMatrix.A(1 )人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:Ninset= (gMatrix(:,i) 0);%in-nodes setou
9、tset= (gMatrix(i,:) 0); %out-nodes setif(any(inset & outset)allset = and(inset, outset);% Ensure aji*aik 0,j belongs to inset,and k belongs to outsettotal = sum(inset)*sum(outset) - sum(allset);tri = sum(sum(gMatrix(inset, outset);Cp_Nodal(i) = tri./total;endend%case DIRECTED, % Directed network - c
10、larity format (from Mika Rubinov, UNSW)% G = gMatrix + gMatrix; %symmetrized% D = sum(G,2); %total degree% g3 = diag(GA3)/2;%number of triplet% D(g3 = 0) = inf;%3-cycles no exist,letCp=0% c3 = D.*(D-1) - 2*diag(gMatrixA2); %number of all possible 3-cycles% Cp_Nodal = g3./c3;%Note: Directed & weighte
11、d network (from Mika Rubinov)%adjacency matrix%total degreeg3 = diag(GA3)/2;%number of tripletD(g3 = 0) = inf;%3-cycles no exist,letCp=0c3 = D.*(D-1) - 2*diag(AA2);Cp_Nodal = g3./c3;otherwise,%Eorr Msgerror(Type only four: Binary,Weighted,Directed,and All); endCp_Global = sum(Cp_Nodal)/N;%第二个文件: CCM
12、_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 nodes indice t.% Input:% gMatrixsymmetry binary connect matrix or weighted connect matrixcase ALL,%All typeA = (gMatri
13、x= 0);G = gMatrix.A(1/3) + (gMatrix.)4(1/3);D = sum(A + A.,2);source nodes, default is 1:N% ttarget 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-path% length of each node in the
14、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 Computational Medicine (CCM),% Based on Matlab 2008a% $Revision: 1.0, Copywrite (c) 2007% # Input check #er
15、ror(nargchk(1,3,nargin,struct);N = length(gMatrix);if(nargin 2 | isempty(s),s = (1:N);elses = s(:);endif(nargin 0,2);% D_Nodal(isnan(D_Nodal) = ;D_Global = mean(D_Nodal);第三个文件: dijk.m function D = dijk(A,s,t) %DIJK Shortest paths from nodes s to nodes t using Dijkstra algorithm.% D = dijk(A,s,t)A =
16、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 nodest = TO node indices= (default), paths to all nodesD = |s| x |t| matrix of shortest path distances fr
17、om s to t= D(i,j), where D(i,j) = distance from node i to node j(If A is a triangular matrix, then computationally intensive nodeselection step not needed since graph is acyclic (triangularity is asufficient, but not a necessary, condition for a graph to be acyclic)and A can have non-negative elemen
18、ts)% (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-2000 by Michael G. Kay% Matlog Version 1.3 29-Aug-2000% %
19、Modified by JBT, 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)% A is upper triangularisAcyclic = 1;elseif any(any(tr
20、iu(A) = 0)% A is lower triangularisAcyclic = 2;else% Graph may not be acyclicisAcyclic = 0;end if n = cAerror(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 between 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)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新时代青年的使命与担当2
- 善良的作文400字
- 新入职员工安全培训试题答案考点提分
- 会考实践科目实施方案
- 中国文具行业竞争态势分析
- 厂级职工安全培训试题加解析答案可打印
- 外科营养支持病人的护理
- 不用谢,爸爸教学课件
- 新工人入场安全培训试题及答案综合卷
- 新入职工入职安全培训试题参考答案
- 国企员工职务晋升(任免)考察审批表2021版
- 2022年北京地区成人本科学士学位英语真题及答案
- 冲压车间员工培训资料
- 全员育人导师制工作手册
- 甘肃广播电视大学钢结构(本)不计分-3.3小测验答案
- 练习问题ために、ように(word文档良心出品)
- 人员密集场所火灾疏散应急预案(精选14篇)
- 网络交友的弊
- 养老机构护理管理制度与规范
- 五代辽宋金元时期的美术4第五章第四节课件
- 京津冀异地就医直接结算政策
评论
0/150
提交评论