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

一、概述

        由于最近写论文需要使用复杂网络知识中的半局部中心法,但是截止目前来说,网上几乎搜索不到有关的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.rhkb.cn/news/277046.html

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

相关文章

基于SpringBoot+Vue交流和分享平台的设计与实现(源码+部署说明+演示视频+源码介绍)

您好,我是码农飞哥(wei158556),感谢您阅读本文,欢迎一键三连哦。💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通…

Day44-sersync企业实时复制实战

Day44-sersync企业实时复制实战 1. sersync实时复制工具介绍1.1 sersync工具简介1.2 sersync特点1.3 sersync图解原理1.4 sersyncrsync实时复制方案项目实践1.4.1 图解项目方案架构及实现原理1.4.2 确保远程数据传输服务部署完成1.4.3 检查当前系统nfs01是否支持inotify实时监控…

008:安装Docker

安装Docker 如果不太熟悉Linux命令,不想学习Linux命令,可以直接看文末NAS面板章节,通过面板,像使用Window一样操作NAS。 一、安装 Docker 1.安装 Docker wget -qO- https://get.docker.com/ | sh2.启动 Docker 服务 sudo sys…

qt vs 编程 字符编码 程序从源码到编译到显示过程中存在的字符编码及隐藏的字符编码转换

理解字符编码,请参考:unicode ucs2 utf16 utf8 ansi GBK GB2312 CSDN博客 了解windows字符显示必须了解locale概念 参考:揭密 Windows 上的各种 locale - 知乎 汉字(或者说多字节字符)的存放需求,是计算…

K8S CNI

OCI概念 OCI,Open Container Initiative,开放容器标准,是一个轻量级,开放的治理结构(项目),在 Linux 基金会的支持下成立,致力于围绕容器格式和运行时创建开放的行业标准。 OCI 项目…

AI智慧校园电子班牌云平台源码

目录 家长端 学校端 电子围栏 亲情通话 课堂答题 移动化管理模式 统一资源管理平台 模板内容智能更换 家校互联 家长端 多场景通话:上学放学联系、紧急遇险求助联系、日常亲情通话关注孩子人身安全:到校离校情况、进入危险区域预警等。 学校端 课堂秩序管理:提高教…

深入浅出:Objective-C中使用MWFeedParser下载豆瓣RSS

摘要 本文旨在介绍如何在Objective-C中使用MWFeedParser库下载豆瓣RSS内容,同时展示如何通过爬虫代理IP技术和多线程提高爬虫的效率和安全性。 背景 随着信息量的激增,爬虫技术成为了获取和处理大量网络数据的重要手段。Objective-C作为一种成熟的编程…

3D地图在BI大屏中的应用实践

前言 随着商业智能的不断发展,数据可视化已成为一项重要工具,有助于用户更好地理解数据和分析结果。其中,3D地图作为一种可视化工具,已经在BI大屏中得到了广泛地应用。 3D地图通过将地理信息与数据相结合,以更加直观…

工具-百度云盘服务-身份认证

目标 通过百度网盘API的方式去获取网盘中的文件,要实现这的第一步就是需要获取网盘的权限。资料(参考) 如果期望应用访问用户的网盘文件,则需要经过用户同意,这个流程被称为“授权”。百度网盘开放平台基于 OAuth2.0 接入授权。OAuth2.0 是…

嵌入式学习第二十七天!(TCP并发模型)

TCP并发模型: 1. TCP多线程模型: 缺点:创建线程会带来资源开销,能够实现的并发量比较有限。 2. IO模型: 1. 阻塞IO: 没有数据到来时,可以让任务挂起,节省CPU资源开销,提…

物理隔离条件下,如何安全高效地进行内外网文件导入导出?

内外网文件导入导出通常指的是在内部网络(内网)和外部网络(外网)之间传输文件的过程。这在企业环境中尤其常见,因为内部网络通常包含敏感数据,而外部网络(如互联网)则允许更广泛的访…

Apache zookeeper kafka 开启SASL安全认证

背景:我之前安装的kafka没有开启安全鉴权,在没有任何凭证的情况下都可以访问kafka。搜了一圈资料,发现有关于sasl、acl相关的,准备试试。 简介 Kafka是一个高吞吐量、分布式的发布-订阅消息系统。Kafka核心模块使用Scala语言开发…

MySql入门教程--MySQL数据库基础操作

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …

k8s的pod和svc相互访问时网络链路解析

k8s的pod和svc相互访问时网络链路解析 1. k8s环境中pod相互访问1.1. k8s中pod相互访问的整体流程1.2. k8s的相同机器的不同pod相互访问1.3. k8s的不同机器的不同pod相互访问 2. k8s访问svc2.1 nat操作2.2 流量进入到后端pod 3. 疑问和思考3.1 访问pod相互访问为什么不用做nat?…

【InternLM 实战营笔记】基于 InternLM 和 LangChain 搭建MindSpore知识库

InternLM 模型部署 准备环境 拷贝环境 /root/share/install_conda_env_internlm_base.sh InternLM 激活环境 conda activate InternLM 安装依赖 # 升级pip python -m pip install --upgrade pippip install modelscope1.9.5 pip install transformers4.35.2 pip install…

数据结构之单链表

目录 1.问题引入 2.主题介绍 2.1链表的概念和结构 2.2链表的分类 2.3单链表的实现 2.3.1接口实现 2.3.2函数实现 2.3.3函数测试 3.小结 halo,又和大家见面了,今天要给大家分享的是单链表的知识,跟着我的脚步,包学包会哦~ …

中电金信:技术实践|Flink维度表关联方案解析

导语:Flink是一个对有界和无界数据流进行状态计算的分布式处理引擎和框架,主要用来处理流式数据。它既可以处理有界的批量数据集,也可以处理无界的实时流数据,为批处理和流处理提供了统一编程模型。 维度表可以看作是用户来分析数…

人工智能|机器学习——K-means系列聚类算法k-means/ k-modes/ k-prototypes/ ......(划分聚类)

1.k-means聚类 1.1.算法简介 K-Means算法又称K均值算法,属于聚类(clustering)算法的一种,是应用最广泛的聚类算法之一。所谓聚类,即根据相似性原则,将具有较高相似度的数据对象划分至同一类簇,…

精读《精通 console.log》

1 引言 本周精读的文章是 Mastering JS console.log like a Pro,一起来更全面的认识 console 吧! 2 概述 & 精读 console 的功能主要在于控制台打印,它可以打印任何字符、对象、甚至 DOM 元素和系统信息,下面一一介绍。 c…

PSCA电源控制集成之电压和电源域边界

电压域之间的跨越必须是异步的。电源域之间的跨越可以是同步的,也可以是异步的。 在电压域或异步电源域之间的边界处,需要使用域桥来实现所需的协议。 对于电压域之间的边界,或者是异步电源域之间的边界,域桥被分割成两半&#…