复杂网络——半局部中心法

一、概述

        由于最近写论文需要使用复杂网络知识中的半局部中心法,但是截止目前来说,网上几乎搜索不到有关的MATLAB程序代码,只有一篇用Python编写的程序,我的电脑中没有python,所以我花费一些时间,利用matlab进行编写,结果显示和Python编写的博主一样。下面我分享一下我的编程思路,希望大家能够独立思考,不要对代码进行直接复制,只放置局部代码,如有需要请订阅后留言,最终结果如下所示。

matlab编写的结果

Python博主编写的

我们可以直观的看到两者结果一致

二、半局部中心法介绍

        复杂网络的影响力度量中,最常用的度中心性的度量只是局限于节点自身,对于节点的邻域和所在网络的拓扑结构都没有考虑,因此局限性很大。度中心性,认为节点连接的邻居越多,则它在影响力传播中的地位越重要。这种度量影响力,的方法缺陷在于,节点影响力会被它的邻域内节点的影响力所影响,还会被自身,所处的网络位置所影响,而度中心性无法考虑到这些因素。因此有人提出了半局,部中心性,半局部中心性认为节点的影响力不仅跟自身度值有关,还跟它邻域内的节点影响力有关。

        大部分基于局部网络结构的度量的缺点都是没有充分考虑网络拓扑结构对节点重要性的影响,导致总体上计算结果准确度不高。因此Chen等人提出了半局部中心性(Semi-Local Centrality,LC)度量,将局部信息的计算范围扩大到次近邻的范围。该方法是对局部信息计算和对全局信息计算方法的折中,但本质上仍然是基于局部结构的方法。首先定义N(w)为节点Vw的两层邻居度,其值等于从 Vw出发 2步内可到达的邻居的数目,  然后定义

三、实现思路

1、导入用Excle编写好的邻接矩阵,两个节点有关联用1,无关联用0,效果如下所示

2、查找邻接矩阵中的具体节点名字

3、确定各节点的度Kv,即矩阵中每行不为0的个数

4、确定各节点两步之内可以到达的邻居数目Nv,分别求取节点i的一步相邻节点,然后在加上相邻节点的相邻节点,然后去掉重复的节点即可,去重是关键这里用到matlab自己的函数unique( )

5.确定各节点两步之内可以到达的邻居数目Qv,对各节点的相邻节点的Nv求和。

6、确定各节点四阶邻居数目CML,对节点的i的相邻节点的Qv求和。

综上所述就可以实现半局部中心法求取SLC(i).

四、代码如下

%% 程序介绍
% GreateTime           2024/3/12
% Author               白雪公主的后妈
% Explain              基于半局部中心法评估加工质量特征的重要性
%% 清空程序、变量、窗口
clear;
clc;
close all
%% 读取无向图矩阵,确定各节点的度Kv
Date = xlsread('C:\Users\NINGMEI\Desktop\Date1.xlsx','sheet6');
for i=1:size(Date,1)%矩阵Date的行数for j=1:size(Date,2)if Date(i,j)>0Node(i,j)=j;            endend
end
Kv=sum(Node~=0,2);
%% 读取无向图矩阵,确定各节点相邻节点的度Nv
for h=1:size(Node,1)number=1;Node1=zeros(size(Node,1),size(Node,2));for k=1:size(Node,2)。。。。。。end。。。。。。
end
%% 确定各节点两步之内可以到达的邻居数目Qv
。。。。。
。。。。。。
。。。。。。
%% 确定各节点四阶邻居数目CML
。。。。。
。。。。。
。。。。。
%% 命令行窗口输出
fprintf('Kv: ');
disp(Kv');
fprintf('Nv: ');
disp(Nv');
fprintf('Qv: ');
disp(Qv);
fprintf('CML: ');
disp(CML);
%% 绘图
[Weight, Sort]=sort(CML,'descend');% 按CML降序排序
x =1:size(Sort,2);
y=Weight; 
hh=stem(x,y,'Marker','none');
hh.LineWidth=1.5;
xlim([0 size(Sort,2)+2])
hold on;
plot(x,y,'.','Color',[0 0.45 0.74],'MarkerSize',20);
Name=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23];
for h=1:size(Name,2)Name1(1,h)=Name(1,Sort(:,h));
end
set(gca,'XTickLabel',Name1);
xticks(1:1:size(Sort,2)); %这样x轴会每隔10显示一个刻度
xtickangle(45);
%在图表中添加标题和轴标签
title('基于半局部中心法对加工质量特征重要性评估')
xlabel('加工质量特征名称')
ylabel('加工质量特征CML值')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/542620.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

巴西交易所股票行情数据API接口

1. 历史日线 # Restful API https://tsanghi.com/api/fin/stock/BVMF/daily?token{token}&ticker{ticker}默认返回全部历史数据,也可以使用参数start_date和end_date选择特定时间段。 更新时间:收盘后3~4小时。 更新周期:每天。 请求方式…

【OceanBase诊断调优】—— 敏捷诊断工具obdiag一键分析OB集群日志设计与实践

最近总结一些诊断OCeanBase的一些经验,出一个【OceanBase诊断调优】专题,也欢迎大家贡献自己的诊断OceanBase的方法。 1. 前言 obdiag定位为OceanBase敏捷诊断工具。1.2版本的obdiag支持诊断信息的一键收集,光有收集信息的能力,…

Echo服务器学习__01(基础)

ASIO是一个跨平台,主要用于实现异步网络和其他一些底层I/O操作的C库 可以基于ASIO实现Echo服务端,在这之前,学习一些基础的知识和概念 ​ 1:IO多路复用 简单的来说,一个线程同时监听多个I/O事件就是I/O多路复用。任…

Python Learn day05

Python Learn day05 本文主要讲解 继承、多态、定制类 继承和多态 什么是继承 当新类想要拥有现有类的功能结构,可以使用继承。继承的前提是新类 is a 现有类,即: 子类 is 父类 总是从某个类继承: class Myclass(object):pass…

GaussDB数据库的索引管理

目录 一、引言 二、GaussDB数据库中的索引基本概念 1. 什么是GaussDB索引? 2. GaussDB索引的作用 三、GaussDB支持的索引类型 1. B-Tree索引 2. GIN索引 3. GiST索引 4. SP-GiST索引 四、创建和管理GaussDB索引 1. 创建索引 2. 删除索引 3. 索引的优化…

中兴通讯联手新疆移动,开通全疆首个乡农场景700M+900M双频双模基站

日前,在新疆博尔塔拉蒙古自治州,中兴通讯携手新疆移动共同完成了全疆首个乡农场景的700M900M双频双模基站建设,其通过采用“700M与900M共天馈共RRU设备”,成功实现乡农4/5G网络的同站址快速部署,为新疆的农牧业发展注入…

密码CTF

一、[SWPUCTF 2021 新生赛]crypto8——unencode编码 1.题目 73E-30U1&>V-H965S95]I<U]P;WE<GT 特征&#xff1a;有-&#xff0c;是uuencode编码&#xff0c;使用python脚本或者在线网站 二、[AFCTF 2018]Vigenre——维吉尼亚密码 1.题目&#xff1a; 给了一个…

中国联通全球无缝连接,畅享高速通信

中国联通&#xff0c;作为通信行业的领军企业&#xff0c;致力于为企业提供高效、稳定、安全的无线连接解决方案。我们依托覆盖全球的4G/5G网络和卫星连接服务&#xff0c;实现全球无缝连接&#xff0c;确保企业无论身处何地&#xff0c;都能畅享高速通信和数据传输体验。 一、…

【Git】Github 上commit后,绿格子contribution却不显示?不知道怎么弥补?解决方法在这里

github 上commit后&#xff0c;绿格子&#xff08;contribution&#xff09;却不显示 问题描述 今天一直在github上面commit代码&#xff0c;但是github中并没有显示自己的contribution&#xff08;没有绿色的格子&#xff09;&#xff0c;全是空白&#xff0c;网上一查是因为…

YOLOv9(3):YOLOv9损失(Loss)计算

1. 写在前面 YOLOv9的Loss计算与YOLOv8如出一辙&#xff0c;仅存在略微的差异。多说一句&#xff0c;数据的预处理和导入方式都是一样的。因此如果你已经对YOLOv8了解的比较透彻&#xff0c;那么对于YOLOv9你也只是需要多关注网络结构就可以。 YOLOv9本身也是Anchor-Free的&a…

JavaScript中的事件模型(详细案例代码)

文章目录 一、事件与事件流二、事件模型原始事件模型特性 标准事件模型特性 IE事件模型 一、事件与事件流 javascript中的事件&#xff0c;可以理解就是在HTML文档或者浏览器中发生的一种交互操作&#xff0c;使得网页具备互动性&#xff0c; 常见的有加载事件、鼠标事件、自定…

react中JSX的详解

目录 JSX的本质及其与JavaScript的关系探究 一、JSX的本质 二、JSX与JavaScript的关系 三、为什么要使用JSX 四、不使用JSX的后果 五、JSX背后的功能模块 JSX的本质及其与JavaScript的关系探究 在React开发中&#xff0c;JSX是一个不可或缺的部分。那么&#xff0c;JSX的…