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
```

相关文章
|
14天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
146 80
|
2天前
|
机器学习/深度学习 数据采集 算法
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目基于MATLAB2022a实现时间序列预测,采用CNN-GRU-SAM网络结构。卷积层提取局部特征,GRU层处理长期依赖,自注意力机制捕捉全局特征。完整代码含中文注释和操作视频,运行效果无水印展示。算法通过数据归一化、种群初始化、适应度计算、个体更新等步骤优化网络参数,最终输出预测结果。适用于金融市场、气象预报等领域。
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
|
12天前
|
机器学习/深度学习 算法 数据安全/隐私保护
数据链中常见电磁干扰matlab仿真,对比噪声调频,线性调频,噪声,扫频,灵巧五种干扰模型
本项目展示了用于分析和模拟电磁干扰对数据链系统影响的算法。通过Matlab 2022a运行,提供无水印效果图预览。完整代码包含详细中文注释及操作视频。理论部分涵盖五种常见干扰模型:噪声调频、线性调频、噪声、扫频和灵巧干扰,详细介绍其原理并进行对比分析。灵巧干扰采用智能技术如认知无线电和机器学习,自适应调整干扰策略以优化效果。
|
5天前
|
算法 人机交互 数据安全/隐私保护
基于图像形态学处理和凸包分析法的指尖检测matlab仿真
本项目基于Matlab2022a实现手势识别中的指尖检测算法。测试样本展示无水印运行效果,完整代码含中文注释及操作视频。算法通过图像形态学处理和凸包检测(如Graham扫描法)来确定指尖位置,但对背景复杂度敏感,需调整参数PARA1和PARA2以优化不同手型的检测精度。
|
20天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于yolov4深度学习网络的公共场所人流密度检测系统matlab仿真,带GUI界面
本项目使用 MATLAB 2022a 进行 YOLOv4 算法仿真,实现公共场所人流密度检测。通过卷积神经网络提取图像特征,将图像划分为多个网格进行目标检测和识别,最终计算人流密度。核心程序包括图像和视频读取、处理和显示功能。仿真结果展示了算法的有效性和准确性。
59 31
|
7天前
|
机器学习/深度学习 算法
基于遗传优化的双BP神经网络金融序列预测算法matlab仿真
本项目基于遗传优化的双BP神经网络实现金融序列预测,使用MATLAB2022A进行仿真。算法通过两个初始学习率不同的BP神经网络(e1, e2)协同工作,结合遗传算法优化,提高预测精度。实验展示了三个算法的误差对比结果,验证了该方法的有效性。
|
10天前
|
机器学习/深度学习 数据采集 算法
基于PSO粒子群优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目展示了基于PSO优化的CNN-GRU-SAM网络在时间序列预测中的应用。算法通过卷积层、GRU层、自注意力机制层提取特征,结合粒子群优化提升预测准确性。完整程序运行效果无水印,提供Matlab2022a版本代码,含详细中文注释和操作视频。适用于金融市场、气象预报等领域,有效处理非线性数据,提高预测稳定性和效率。
空心电抗器的matlab建模与性能仿真分析
空心电抗器是一种无铁芯的电感元件,通过多层并联导线绕制而成。其主要作用是限制电流、滤波、吸收谐波和提高功率因数。电抗器的损耗包括涡流损耗、电阻损耗和环流损耗。涡流损耗由交变磁场引起,电阻损耗与电抗器半径有关,环流损耗与各层电流相关。系统仿真使用MATLAB2022a进行。
|
13天前
|
编解码 算法 数据安全/隐私保护
基于BP译码的LDPC误码率matlab仿真,分析不同码长,码率,迭代次数以及信道类型对译码性能的影响
本内容介绍基于MATLAB 2022a的低密度奇偶校验码(LDPC)仿真,展示了完整的无水印仿真结果。LDPC是一种逼近香农限的信道编码技术,广泛应用于现代通信系统。BP译码算法通过Tanner图上的消息传递实现高效译码。仿真程序涵盖了不同Eb/N0下的误码率计算,并分析了码长、码率、迭代次数和信道类型对译码性能的影响。核心代码实现了LDPC编码、BPSK调制、高斯信道传输及BP译码过程,最终绘制误码率曲线并保存数据。 字符数:239
56 5
|
20天前
|
算法
基于Adaboost模型的数据预测和分类matlab仿真
AdaBoost(Adaptive Boosting)是一种由Yoav Freund和Robert Schapire于1995年提出的集成学习方法,旨在通过迭代训练多个弱分类器并赋予分类效果好的弱分类器更高权重,最终构建一个强分类器。该方法通过逐步调整样本权重,使算法更关注前一轮中被误分类的样本,从而逐步优化模型。示例代码在MATLAB 2022A版本中运行,展示了随着弱分类器数量增加,分类错误率的变化及测试数据的分类结果。