当前位置: 首页 > news >正文

matlab图论分析之指标计算(二)

图论分析是一种研究大脑功能网络的有效方法。通过将大脑的不同区域或电极视为节点,区域或电极之间的连接视为边,可以构建脑功能网络,并利用图论工具分析器拓扑特性。图论分析的指标有很多,简单介绍如下:
全局属性:
聚类系数:衡量节点聚集程度;
特征路径长度:衡量信息传递效率;
小世界性:兼具高聚类和短路径的特征;
全局效率:衡量网络信息传递效率;
局部属性:
节点度:节点的连接数;
介数中心性:节点在网络中的枢纽程度;
局部效率:衡量节点局部信息传递效率;

本次分析,主要计算特征路径长度,聚类系数,小世界指数,小世界指数是由特征路径长度和聚类系数计算出来的,我们为了便于计算,首先定义一个smallworldness函数,同时计算出这三个指标,具体实现如下:

function [L,C,sigma] = smallworldness(A,B)
输入A:邻接矩阵(二值图或加权图,都是无向的);B:1为二值图,2为加权图;
输出:L特征路径长度,C为聚类系数,sigma为小世界指数

% 随机时的参数初始化
L_rand = 0;
C_rand = 0;
ITER  = 10; 

% 判断是二值图还是加权图
if B == 1   % 二值图
    L = distance_bin(A);
    L = mean(L(L > 0 & L ~= inf)); % 特征路径计算,排除0和无穷大

    C = clustering_coef_bu(A);  % 聚类系数
    C = mean(C);         % 均值C

    % 随机生成网络
    for i = 1:ITER
        rand = randmio_und(A,10);% 随机网络 ,函数生成与实际网络具有相同的度分布
        D = distance_bin(rand);
        random_L = mean(D(D > 0 & D ~= inf));
        L_rand = L_rand + random_L; % 随机特征路径
        C_rand = C_rand + mean(clustering_coef_bu(rand)); % 聚类系数均值
    end
    L_rand = L_rand/10;
    C_rand = C_rand/10;
    sigma = (C/C_rand)/(L/L_rand);   % 计算小世界指数
else
    L = distance_wei(A);
    L = mean(L(L > 0 & L ~= inf)); % 特征路径计算

    C = clustering_coef_wu(A);  % 聚类系数
    C = mean(C);         % 均值C

    % 随机生成网络
    for i = 1:ITER
        % 随机网络 ,函数生成与实际网络具有相同的度分布
        random_y = A;  % 复制实际网络
        [row,~] = find(triu(A,1));  % 找到实际网络中的边
        numEdges = numel(row);         % 边数    
        weights = A(triu(A,1)>0); % 提取实际网络的权重
        random_weight = weights(randperm(numEdges));  % 随机化权重
        random_y(triu(A,1) > 0) = random_weight; % 更新权重
        random_y = triu(random_y,1) + triu(random_y,1)'; % 对称矩阵

        D = distance_wei(random_y); % 最短路径
        random_L = mean(D(D > 0 & D ~= inf));  % 忽略0或inf
        L_rand = L_rand + random_L; % 随机特征路径
        C_rand = C_rand + mean(clustering_coef_wu(random_y)); % 聚类系数均值

    end
    L_rand = L_rand/ITER;
    C_rand = C_rand/ITER;
    sigma = (C/C_rand)/(L/L_rand);% 计算小世界指数

end
% 

根据(一)中,或者其他方式计算出来的二值矩阵和加权加权,如:binary_matrix二值矩阵,weight_matrix加权矩阵,调用smallworldness函数:

[L_b,C_b,sigma_b] = smallworldness(binary_matrix,1);
[L_w,C_w,sigma_w] = smallworldness(weight_matrix,2);

计算结果如下:

在这里插入图片描述

注意:二值图的随机网络比较容易生成,而加权图的随机网络有些复杂,都需要与实际的网络保持度分布相同。计算方法有多种,选择自己擅长使用的即可。

http://www.dtcms.com/a/73683.html

相关文章:

  • BUU SQL COURSE 1
  • C++11 lambda表达式、包装器、Bind绑定
  • 开关电源实战(三)FlyBack反激电源MAX668
  • 玻璃制品制造行业的现状 内检实验室LIMS在玻璃制品制造的应用
  • 前端实现页面截图 -- html2canvas
  • 学习笔记:黑马程序员JavaWeb开发教程(2025.3.17)
  • 前后端图像分类系统搭建文档
  • JavaScript语言的正则表达式
  • DC/DC开关电源学习笔记(十四)Buck-Boost升降压电路仿真与应用案例
  • 【css酷炫效果】纯css实现液体按钮效果
  • Hoppscotch 开源API 开发工具
  • 每日一题--进程与协程的区别
  • 第58天:Web攻防-SQL注入二次攻击堆叠执行SQLMAPTamper编写指纹修改分析调试
  • LCR 159. 库存管理 III
  • K8S学习之基础三十四:K8S之监控Prometheus部署pod版
  • AWTK-WEB 快速入门(5) - C 语言 WebSocket 应用程序
  • VSCODE 报错Fatal error: can‘t create CMakeFiles/hello_world.elf.dir/C_/Users/...
  • 通过turfjs使用线段分割矢量多边形
  • 【TPAMI 2024】卷积调制空间自注意力SpatialAtt,轻量高效,即插即用!
  • JVM常用概念之安全点轮询
  • TensorRT:高性能深度学习推理的利器
  • DeepSeek私有化部署与安装浏览器插件内网穿透远程访问实战
  • 轨道交通3U机箱CPCI电机控制板(DSP),主要运行控制算法以对牵引电机进行精准的运动控制
  • 【Go语言圣经5.1】
  • 微前端 无界wujie
  • 蓝牙技术联盟中国实体成立!华为、小米发声支持本土化战略
  • QAI AppBuilder 快速上手(7):目标检测应用实例
  • CVPR2025自动驾驶端到端前沿论文汇总
  • Docker命令解析:加速你的容器化之旅(以Nginx为例)
  • 设计模式Python版 访问者模式