基于无人机的移动边缘计算网络研究(Matlab代码实现)

时间:2022-12-16 16:58:37

 ????‍????个人主页:研学社的博客 

????????????????欢迎来到本博客❤️❤️????????

????博主优势:????????????博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

????????????本文目录如下:????????????

目录

????1 概述

????2 运行结果

????3 Matlab代码实现

????4 参考文献


基于无人机的移动边缘计算网络研究(Matlab代码实现)

????1 概述

空中无人机(UAV)长期以来一直被用作移动网络中的网络处理器,但它们现在被用作移动边缘计算(MEC)中的移动服务器。由于它们的灵活性、可移植性、强大的视线通信联系以及低成本、可改变的使用,它们在研究和商业应用中变得更加流行。广泛的民用服务现在可能因其基本特性而得到支持,包括运输和工业监测、农业以及森林火灾和无线服务。本项目研究了基于无人机的移动边缘计算网络,其中无人机(UAV)进行移动终端用户提供的计算。

????2 运行结果

基于无人机的移动边缘计算网络研究(Matlab代码实现)

基于无人机的移动边缘计算网络研究(Matlab代码实现) 基于无人机的移动边缘计算网络研究(Matlab代码实现)

 

部分代码:

%% parameters
global imgnum; %looping times
global N; % divide [0,1]*[0,1] map into N*N grid
global TARGET;
global UAV_info; % UAVs location matrix
global UAVnum;
global UAV_pos; % UAVi's initial position    
global SumTarget;
global needReplan;
global enemysUK;
global enemysUK2plot;
global enemysK;
global enemysSize;
global traceRecord;
global G;

%% initialize target
imgnum=0;
TARGET = round([0.95 0.95]*N);    %target position
%% initialize UAV
UAV_info = UAV_initialize;                   
UAVnum=size(UAV_info,1);
UAV_pos=[];                 
for i=1:UAVnum
    UAV_pos(i,:)=UAV_info(i,1:2);
end
needReplan=ones(1,UAVnum);      %UAVi need to replan when needReplan(i)=1
SumTarget=zeros(1,UAVnum);      %when UAVi's SumTarget(i)=1, don't need further move

%% initialize enemys
enemysUK=enemyGuass;    %Unknown obstacles(includs all UAVs) location matrix
enemysSize=size(enemysUK,1);
enemysUK2plot=enemys();        %used when drawing map

enemysK={}; % no enemy is detected initially
for i=1:UAVnum
    enemysK{i}=[];
end

%% initialize trace record
traceRecord={}; % no record of trace initially
for i=1:UAVnum
    traceRecord{i}=[];
end

%% initialize G Matrix
G={}; 
D=ones(N,N)*N^2;  %initialize D with all elements are N^2 and target 0
D(TARGET(1),TARGET(2))=0;
for i=1:UAVnum
    G{i}=[D];
end

%% parameters
global imgnum; %looping times
global N; % divide [0,1]*[0,1] map into N*N grid
global TARGET;
global UAV_info; % UAVs location matrix
global UAVnum;
global UAV_pos; % UAVi's initial position    
global SumTarget;
global needReplan;
global enemysUK;
global enemysUK2plot;
global enemysK;
global enemysSize;
global traceRecord;
global G;

%% initialize target
imgnum=0;
TARGET = round([0.95 0.95]*N);    %target position
%% initialize UAV
UAV_info = UAV_initialize;                   
UAVnum=size(UAV_info,1);
UAV_pos=[];                 
for i=1:UAVnum
    UAV_pos(i,:)=UAV_info(i,1:2);
end
needReplan=ones(1,UAVnum);      %UAVi need to replan when needReplan(i)=1
SumTarget=zeros(1,UAVnum);      %when UAVi's SumTarget(i)=1, don't need further move

%% initialize enemys
enemysUK=enemyGuass;    %Unknown obstacles(includs all UAVs) location matrix
enemysSize=size(enemysUK,1);
enemysUK2plot=enemys();        %used when drawing map

enemysK={}; % no enemy is detected initially
for i=1:UAVnum
    enemysK{i}=[];
end

%% initialize trace record
traceRecord={}; % no record of trace initially
for i=1:UAVnum
    traceRecord{i}=[];
end

%% initialize G Matrix
G={}; 
D=ones(N,N)*N^2;  %initialize D with all elements are N^2 and target 0
D(TARGET(1),TARGET(2))=0;
for i=1:UAVnum
    G{i}=[D];
end

????3 Matlab代码实现

????4 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]邱铭. 基于微波供能的无人机移动边缘计算网络研究[D].广东工业大学,2020.DOI:10.27029/d.cnki.ggdgu.2020.001588.