m基于ENM-LAP模型的自组织网络平均最短路径长度matlab仿真分析

简介: m基于ENM-LAP模型的自组织网络平均最短路径长度matlab仿真分析

1.算法仿真效果
matlab2022a仿真结果如下:
936ef7a9a70d575a7a254ffde81d551f_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
079dfe41bb0d7129a9eafa7988039fa1_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
71a7f4e7b7d1b326a72b095a64e741e0_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要
移动自组织网络不但具有终端能量受限、无线信道状况受链路距离影响等特点,还具有节点位置的选择存在偏好的规律。本节建立基于节点位置偏好的网络拓扑演进模型,并利用复杂网络理论对其进行分析。网络拓扑结构产生过程如下:

1)增长:网络初始状态时,网络中存在少量的节点,设此时的节点数为 ,这 个节点根据彼此之间的距离和自身的覆盖范围,与周边的节点进行连接。这里,假定每个节点都与自己所有的邻居相连,这样做的目的有两个,第一是降低初始网络的复杂度,使初始节点的连接规则较为简单,第二是尽量避免孤立节点的存在,使网络处在连通图的状态。

   当网络完成初始化后,在每一个时间步向网络中增加一个新节点。新节点的加入是存在节点对位置的偏好性的,即节点将遵照某种网络特点,在一定范围内选择相应的位置出现于网络中。通常定义的网络特点有节点度、节点介数、节点能量或其他物理特性等。在本文中考虑节点度作为节点加入网络的依据。式(1)给出新节点加入网络时遵循的概率表达式:

db4f04eb6e27dfde60813baf5bfc1dbe_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

   在演化过程中假定网络中任意两个节点之间都可以进行直接或者间接通信,也就是说网络在构建完成的时候是连通的,没有孤立节点的存在。这个假设是合理的,举例来说,在广场上布设一个移动自组织网络,网络中的任意一个人都至少会与一个人进行联系,假如他不与任何人联系,那么他就不属于这个网络。另外假设网络规模足够大,而节点加入网络时的连边较小,在节点的覆盖范围内能够有大于个节点存在。

3.MATLAB核心程序
```m0 = 9;
m = 8;
N = 1000;
SCALE = 500;%
%通信半径
Radius= 150;%

alpha = 0.5;
Ec = 1/1000;
E0 = 1;

%%
%局域网偏好的网络拓扑
L = 30;
X = rand(1,m0)SCALE;
Y = rand(1,m0)
SCALE;
fed= [];
for i = 1:m0
for j = 1:m0
dist(i,j)=sqrt((X(i)-X(j))^2+(Y(i)-Y(j))^2);
end
end

indx = 0;
NN = 0;
while NN < N
NN
indx = indx + 1;rng(indx);
%计算度
if indx == 1
X2 = X;
Y2 = Y;
end

  degree1 = [];
  for i = 1:length(X2)
      xx= 0;
      for j = 1:length(Y2)
          dist=sqrt((X2(i)-X2(j))^2+(Y2(i)-Y2(j))^2);
          if dist <= Radius & dist > 0
             xx= xx + 1; 
          end
      end
      degree1(i) = xx;
  end    

  degree2 = [];
  di      = [];
  for i = 1:length(X2)
      xx= 0;
      for j = 1:length(Y2)
          dist=sqrt((X2(i)-X2(j))^2+(Y2(i)-Y2(j))^2);
          if dist <= Radius & dist > 0 & dist<= L
             xx= xx + 1; 
          end
          di(i,j) = dist;
      end
      degree2(i) = xx;
  end    

  %计算节点剩余能源
  if indx == 1
     E(1:m0) = E0 - Ec;
     tmps    = E;
  else
     E       = tmps - Ec;
     E       = [E,E0 - Ec];
     tmps    = E;
  end

  for i = 1:length(X2)
      d      = di(i,:);
      fed(i) = E(i)^alpha*(1-d(i)/sum(d))^(1-alpha);
  end
  for i = 1:length(X2)
      Para2(i) = fed(i)*degree1(i)/(sum(fed.*degree1));%公式3.3连接8个概率
  end
  %选择概率最大的m个进行连接
  [Vp,Ip] = sort(Para2);
  Mindx   = Ip(end-m+1:end);

.........................................................

  X2    = [X2,Xnew];
  Y2    = [Y2,Ynew];
  NN    = length(X2);

  %平均最短路径长度
  Eavg       = mean(E);
  n          = xx;
  ms         = m;
  t          = 0.005*indx;
  k          = mean(degree1);
  Pked       = 1/(m0+t)*(2*n*Eavg./fed*ms/k);
  dt         = 0.1;
  theta      = sum(Pked);

  kikj       = ms^2/Eavg*exp(fed/(2*n*Eavg)*dt);

  gamma      = 0.5772;
  LLs        = exp(1/log(theta))*((-1*log(kikj)-log(ms/2)-gamma)/(log((N))+log(ms/2)) + 3/2);

  Lens(indx) = mean(LLs);

end

ix = find(abs(Lens)>1000);
Lens(ix)=0;
%平滑
for indx=1:length(Lens)
if indx <= 256
Lens2(indx) = mean(Lens(1:indx));
else
Lens2(indx) = mean(Lens(indx-256:indx));
end
end
figure;
plot(Lens2,'b','linewidth',1);

if L==30
save R0.mat Lens2
end
if L==20
save R1.mat Lens2
end
if L==15
save R2.mat Lens2
end
if L==10
save R3.mat Lens2
end
```

相关文章
|
2天前
|
算法
基于SOA海鸥优化算法的三维曲面最高点搜索matlab仿真
本程序基于海鸥优化算法(SOA)进行三维曲面最高点搜索的MATLAB仿真,输出收敛曲线和搜索结果。使用MATLAB2022A版本运行,核心代码实现种群初始化、适应度计算、交叉变异等操作。SOA模拟海鸥觅食行为,通过搜索飞行、跟随飞行和掠食飞行三种策略高效探索解空间,找到全局最优解。
|
2天前
|
算法 数据可视化 数据安全/隐私保护
一级倒立摆平衡控制系统MATLAB仿真,可显示倒立摆平衡动画,对比极点配置,线性二次型,PID,PI及PD五种算法
本课题基于MATLAB对一级倒立摆控制系统进行升级仿真,增加了PI、PD控制器,并对比了极点配置、线性二次型、PID、PI及PD五种算法的控制效果。通过GUI界面显示倒立摆动画和控制输出曲线,展示了不同控制器在偏转角和小车位移变化上的性能差异。理论部分介绍了倒立摆系统的力学模型,包括小车和杆的动力学方程。核心程序实现了不同控制算法的选择与仿真结果的可视化。
28 15
|
1天前
|
算法
基于小波变换和峰值搜索的光谱检测matlab仿真,带GUI界面
本程序基于小波变换和峰值搜索技术,实现光谱检测的MATLAB仿真,带有GUI界面。它能够对CO2、SO2、CO和CH4四种成分的比例进行分析和提取。程序在MATLAB 2022A版本下运行,通过小波分解、特征提取和峰值检测等步骤,有效识别光谱中的关键特征点。核心代码展示了光谱数据的处理流程,包括绘制原始光谱、导数光谱及标注峰值位置,并保存结果。该方法结合了小波变换的时频分析能力和峰值检测的敏锐性,适用于复杂信号的非平稳特性分析。
|
1天前
|
机器学习/深度学习 算法 安全
基于深度学习的路面裂缝检测算法matlab仿真
本项目基于YOLOv2算法实现高效的路面裂缝检测,使用Matlab 2022a开发。完整程序运行效果无水印,核心代码配有详细中文注释及操作视频。通过深度学习技术,将目标检测转化为回归问题,直接预测裂缝位置和类别,大幅提升检测效率与准确性。适用于实时检测任务,确保道路安全维护。 简介涵盖了算法理论、数据集准备、网络训练及检测过程,采用Darknet-19卷积神经网络结构,结合随机梯度下降算法进行训练。
|
6月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
272 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
6月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
162 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
6月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
138 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
9月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
9月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)

热门文章

最新文章