节点移动模型-MATLAB 仿真

高斯马尔科夫模型实现和仿真
高斯马尔科夫模型描述
高斯马尔科夫模型描述为每个节点被赋予一个当前的速率v 和方向sita ,在一个固定的时间间隔 ∆t(时隙)后,每个节点更新当前的速率和方向,每次间隔之初更新,更新公式如下:
1(1)t t n v av a v +=+-,1(1)t t n a a θθθ+=+-+。在每个指定的时间∆周期t 内,得到1t v +和1t θ+ 的计算值,则运动的目标位置可以通过下述式子得到:1cos t t t t x x v t θ+=+⋅⋅,1sin t t t t y y v t θ+=+⋅⋅。一个时间间隔内,节点都按照v 匀速运动到目标位置,称为一个step 。
一个完整的step 包括:
1.节点参数的设置:
仿真时间:T=1000;
步进时间:dt=1;步进时间越小,路径曲线越光滑。
时间间隔:nt=20;
7大叔论坛
速度范围:vmin=1;vmax=1.5;
场景范围:xmin=0;xmax=100;ymin=0;ymax=50;
随机产生起始点的位置:xa=unifrnd(0,100,[1,1]); ya=unifrnd(0,50,[1,1]); 初始速率设置为速率分布的期望:va=(vmin+vmax)/2;%初始速度
初始速度方向设置为方向分布的期望:sitaa=(0+2*pi)/2;
速率平均值:vmean=(vmin+vmax)/2;
速度方向平均值: sitamean=(0+2*pi)/2;
2.节点随机初始速度设置为vmean=(vmin+vmax )/2,sitamean=(0+2*pi)/2;随机获取初始位置xa,ya ∆。固定一个时间间隔t=20。vn,sitan 是服从高斯分布的随机变量,vn 服从均值为
1.5,方差为0.2的高斯分布:vn=normrnd(1.5,0.2,1,1),sitan 服从均值为pi ,方差为0.2的高斯分布sit
an =normrnd(pi,0.2,1,1);随机变量a 的范围是(0,1),并且在这个范围内均匀分布。
2.节点在每个时间间隔更新速率和速度方向,根据初始节点的位置得到移动的目标位置xb ,yb 。
3.目标节点位置变为下一个step 的初始节点。
模型参数设置:
变量:调节参数a,速度v ,方向sita ,节点位置(x,y ),随机参数vn,sitan 初始节点位置节点位置:xmin=0;xmax=100;ymin=0;ymax=50; A(xa,ya)
初始节点速度参数:vmin=1;vmax=2;,速度平均值vmean=(vmin+vmax)/2,          速度方向平均值sitamean=(0+2*pi)/2
时间参数:nt=20;
clear all ;
%相关参数设定
T=1000;%仿真时间s
dt=1;%补进时间s
nt=30;%时间间隔
vmin=0.5;vmax=1;%速度范围又是一年开学时
tmin=0.1;tmax=0.1;%停顿时间范围s
xmin=0;xmax=1000;ymin=0;ymax=500;%场景的范围
tex=0;%初始化运行时间记忆变量
%axis([xmin xmax ymin ymax]);%设定坐标范围
%figure(1);
hold on;%保留绘图内容
xa=unifrnd(0,100,[1,1]);%随机发生起始点坐标
ya=unifrnd(0,50,[1,1]);
黑龙江省畜牧研究所
va=(vmin+vmax)/2;%初始速度
sitaa=(0+2*pi)/2;%随机发生一个初始速度方向,前进角度服从均匀分布
vmean=(vmin+vmax)/2;%速度平均值
sitamean=(0+2*pi)/2;%速度方向平均值
while(1)
a=unifrnd(0,1,[1,1]);%a用来调节随机性
vn=normrnd(1.5,0.2,1,1);%服从高斯分布的速率参数
sitan=normrnd(pi,0.2,1,1);%服从高斯分布的速度方向参数
vb=a*va+(1-a)*vmean+sqrt((1-a^2))*vn;%到达目的节点后确定下一段的速度
sitab=a*sitaa+(1-a)*sitamean+sqrt((1-a^2))*sitan;%到达目的节点后确定下一段的速度方向
if T-tex>=nt
水下滑翔机for t=0:dt:nt
xb=xa+va*cos(sitab)*t;
yb=ya+va*sin(sitab)*t;%节点在到达目的节点后可以确定下一目的节点的位置    plot(xb,yb,'.');
if xb<xmin      %x坐标到达左边界
xa=xa+xmax;
elseif xb>xmax  %x坐标到达右边界
xa=xa-xmax;
end
if yb<ymin    %y坐标到达下边界
ya=ya+ymax;
elseif yb>ymax %y坐标到达上边界
ya=ya-ymax;
end
tex=tex+dt;
end
else
for t=0:dt:T-tex
xb=xa+va*cos(sitab)*t;
yb=ya+va*sin(sitab)*t;%节点在到达目的节点后可以确定下一目的节点的位置    plot(xb,yb,'.');
if xb<xmin  %x坐标到达左边界
xa=xa+xmax;
elseif xb>xmax %x坐标到达右边界
xa=xa-xmax;
end
if yb<ymin  %y坐标到达下边界
ya=ya+ymax;
elseif yb>ymax  %y坐标到达上边界
ya=ya-ymax;
end
tex=tex+dt;
return
end
end
xa=xb;ya=yb;%将目标点更新为新Step的起点
va=vb,sitaa=sitab;
end蓝田瑶族风情园
随机方向模型实现和仿真
随机方向模型描述:
随机方向移动模型描述为节点先在整个移动区域内随机选择一个位置作为初始位置,随机选择运动速度的大小和方向,一直运动到边界上的一个点,就是目的节点,随机停顿一段时间tp ,将这个目的节点作为下一次移动的源节点,然后反复按相对固定的过程进行移动,通常称这个重复过程为Step 。
一个完整的Step 包括运动速度v 、随机停顿时间tp ,随机运动方向sita ,然后以速度v 匀速直线运动到达边界位置后停顿时间tp 。其中运动速度v 、随机停顿时间tp ,随机运动方向的范围和在该范围的分布可以通过模型参数的方式进行限定,如V 的范围为 min max (,)v v ,并且在min max (,)v v 范围内服从平均分布;tp 的范围为min max (,)t t ,并且在min max (,)t t 范围内服从平均分布。随机运动方向根据在不同的边界,有不同的范围,在该范围内服从平均分布。
模型参数设置:
场景参数:xmin=0;xmax=100;ymin=0;ymax=50;
时间参数:运行时间T ,记忆变量tex ,运动时间tm ,停顿时间tp;
速度参数:vmin=0.5;vmax=1.5;速度大小v ,运动方向sita;
停顿时间参数:tmin=0.1; tmax=0.2;
clear all ;
%相关参数设定
T=1000;%仿真时间s
dt=1;%补进时间s
vmin=1;vmax=1.5;%速度范围
tmin=0.1;tmax=0.2;%停顿时间范围s
xmin=0;xmax=100;ymin=0;ymax=50;%场景的范围
tex=0;%初始化运行时间记忆变量
axis([xmin xmax ymin ymax]);%设定坐标范围
figure(1);
hold on ;%保留绘图内容
xa=unifrnd(0,100,[1,1]);%随机发生起始点坐标
ya=unifrnd(0,50,[1,1]);
while (1)
v=unifrnd(vmin,vmax,[1,1]);%随机发生一个速度值,速度大小服从均匀分布      tp=unifrnd(tmin,tmax,[1,1]);%随机发生一个停顿时间,停顿时间服从均匀分布
if  ya==0
李克农子女
sita=unifrnd(0,pi,[1,1]);%随机发生一个前进角度,前进角度服从均匀分

本文发布于:2024-09-23 18:28:03,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/251294.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:节点   时间   位置
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议