节点移动模型

上传人:jin****ng 文档编号:148884024 上传时间:2022-09-06 格式:DOC 页数:15 大小:362.50KB
返回 下载 相关 举报
节点移动模型_第1页
第1页 / 共15页
节点移动模型_第2页
第2页 / 共15页
节点移动模型_第3页
第3页 / 共15页
点击查看更多>>
资源描述
高斯马尔科夫模型实现和仿真高斯马尔科夫模型描述高斯马尔科夫模型描述为每个节点被赋予一个当前的速率v和方向Sita,在一个固定的时间 间隔 t(时隙)后,每个节点更新当前的速率和方向,每次间隔之初更新,更新公式如下:(1a)v(1a 2)v ,t 1 a t (1a)n2(1 a )。在每个指定的时n周期t 内,A得到v 和 到:t 1y1的计算值,则运动的目标位置可以通过下述式子得cos1运动ttttsin 。一个时间间隔内,节点都按照v匀速到目标位置,称为一个 step。完整的step包括:1节点参数的设置:仿真时间:T=1000;步进时间:dt=1;步进时间越小,路径曲线越光滑。时间间隔:nt=20;速度范围: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。固定一个时间间隔A t=20o vn,sitan是服从高斯分布的随机变量,vn服从均值为1.5,方差为0.2的高斯分布:vn=normrnd(1.5,0.2,1,1), sitan服从均值为pi,方差为0.2的 高斯分布sitan=normrnd(pi,0.2,1,1);随机变量a的范围是(o,1),并且在这个范围内均匀 分布。2节点在每个时间间隔更新速率和速度方向,根据初始节点的位置得到移动的目标位置xb,yb。3目标节点位置变为下一个step的初始节点。模型参数设置:变量:调节参数a,速度v,方向sita,节点位置(x,y),随机参数n,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;%仿真时间sdt=1;%补进时间snt=30;%时间间隔vmin=0.5;vmax=1;% 速度范围tmin=0.1;tmax=0.1;%停顿时间范围 sxmin=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-aA2)*vn;%到达目的节点后确定下一段的速 度sitab=a*sitaa+(1-a)*sitamean+sqrt(1-aA2)*sitan;% 到达目的节点后 确定下-段的速度方向if T-tex=ntfor t=0:dt:ntxb=xa+va*cos(sitab)*t;yb=ya+va*sin(sitab)*t;%节点在到达目的节点后可以确定下一目的节点的位置plot(xb,yb,.);if xbxmax %x坐标到达右边界xa=xa-xmax;endif ybymax %y坐标到达上边界ya=ya-ymax;endtex=tex+dt;endelsefor t=0:dt:T-texxb=xa+va*cos(sitab)*t;yb=ya+va*sin(sitab)*t;%节点在到达目的节点后可以确定下一目的节点的位置 plot(xb,yb,.);if xbxmax %x坐标到达右边界xa=xa-xmax;endif ybymax %y坐标到达上边界ya=ya-ymax;endtex=tex+dt;returnendendxa=xb;ya=yb;%将目标点更新为新Step的起点va=vb,sitaa=sitab;end5050045040035030025020015010001002003004005006007008009001000随机方向模型实现和仿真随机方向模型描述:随机方向移动模型描述为节点先在整个移动区域内随机选择一个位置作为初始位置,随机选 择运动速度的大小和方向,一直运动到边界上的一个点,就是目的节点,随机停顿一段时间 tp,将这个目的节点作为下一次移动的源节点,然后反复按相对固定的过程进行移动,通常 称这个重复过程为 Step。个完整的Step包括运动速度v、随机停顿时间tp,随机运动方向sita,然后以速度v匀速 直线运动到达边界位置后停顿时间tp。其中运动速度v、随机停顿时间tp,随机运动方向的范围和在该范围的分布可以通过模型参数的方式进行限定,女口 V的范围为(v,v ),并min max3,-)范围内服从平均分布;tp的范围为且在max(t , t ),并且在(t , tmin maxmin max)范围内服从 min平均分布。随机运动方向根据在不同的边界,有不同的范围,在该范围内服从平均分布。模型参数设置:场景参数: 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=0sita=unifrnd(0,pi,1,1);%随机发生一个前进角度,前进角度服从均匀分elseif ya=50sita=unifrnd(1.5*pi,2*pi,1,1);%随机发生一前进角度,前进角度服 从均匀分布elseif xa=0sita=unifrnd(-0.5*pi,0.5*pi,1,1);%随机发生一 前进角度,前进角 度服从均匀分布elseif xa=100sita=unifrnd(0.5*pi,1.5*pi,1,1);%随机发生一 前进角度,前进角度 服从均匀分布elsesita=unifrnd(0,2*pi,1,1);%随机发生一个前进角度,前进角度服从均匀 分布endfor t=0:dt:Tif texT %本次Step内仿真时间会到returnelsex=xa+v*cos(sita)*t;%运动到边界位置的点y=ya+v*sin(sita)*t;plot(x,y,.);hold ontex=tex+dt;ifx=0|x=100|y=0|y=50%如果运动到边界,则到达的点就是目 的节点break;endendendif T-tex=tp;pause(tp); %停止一段时间tex=tex+tp;%更新运行时间记忆变量elsepause(T-tex); %时间到returnendxa=x;ya=y;%将目标点更新为新Step的起点end随机方向改进模型的实现和仿真随机方向改进模型描述: 随机方向移动模型描述为节点先在整个移动区域内随机选择一个位置作为初始位置,随机选 择运动速度的大小和方向、移动的距离,节点移动这段距离后到达终点,到达终点后随机停 顿一段时间tp,将这个终点作为下一次移动的起始节点,这个过程为一个step。然后反复按 相对固定的过程进行移动。如果节点在运动期间运动到边界,将从对称的边界重新出发,速 度和方向不变。完整的Step包括:1随机产生运动速度大小V、停顿时间P,运动方向ita,运动距离dv的范围为(v ,v),min max(v,v )范围内服从平均分布;tp的范围为并且在(t ,t),并且在(t,t )范围内服,maxmin maxmin max从平均分布。2然后以速度v匀速直线运动随机的一段距离d后停顿时间tp。节点在运动过程中如果走到 了边界,则从对称的边界出发,速度,方向均不变。比如运动到了左边界(xmin,y),则I节 点的位置变为(xmax,y);运动到了上边界(x,ymax),则节点的位置变为(ymin)。3运动距离d后,到达的终点的位置为下一个step的初始位置。模型参数设置:场景参数: :xmin=0;xmax=100;ymin=0;ymax=50, 运动距离 dmin=20;dmax=100;时间参数:运行时间T记忆变量tex,运动时间tm,停顿时间tp;速度参数:vmin=0.5;vmax=1.5;速度大小v,运动方向sita;停顿时间参数: tmin=0.1; tmax=0.2;仿真程序:clear all;%相关参数设定T=100;%仿真时间s dt=1;%补进时间s vmin=1;vmax=1.5;% 速度范围 tmin=0.1;tmax=0.2;%停顿时间范围 s xmin=0;xmax=100;ymin=0;ymax=50;% 场景的范围 dmin=20;dmax=100;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);%随机发生一个停顿时间,停顿时间服从均匀分 布sita=unifrnd(0,2*pi,1,1);%随机发生一个前进角度,前进角度服从均匀分 布d=unifrnd(dmin,dmax,1,1);%随机发生一前进距离,前进距离服从均匀分 布tm=d/v;%运动时间if T-tex=tm %此次step时间不会到for t=0:dt:tmxb=xa+v*cos(sita)*t;yb=ya+v*sin(sita)*t;plot(xb,yb,.)if xb=xmax %x坐标到达右边界xa=xa-xmax;endif yb=ymax %y坐标到达上边界ya=ya-ymax;endtex=tex+dt; %更新运行时间记忆变量endif T-tex=tp;pause(tp); %停止一段时间tex=tex+tp;%更新运行时间记忆变量elsepause(T-tex); % 时间到returnendelse %此次step时间会到for t=0:dt: T-texxb=xa+v*cos(sita)*t;yb=ya+v*sin(sita)*t;plot(xb,yb,.)if xb=xmax %x坐标到达右边界xa=xa-xmax;endif yb=ymax %y 坐标到达上边界 ya=ya-ymax;endendreturnendxa=xb;ya=yb;%将目标点更新为新Step的起点end仿真结果:随机路点模型实现和仿真随机路点模型描述 随机路点移动模型描述为节点先在整个移动区域内随机选择一个位置作为初始位置,随机选 择一个位置为目的位置,将这个目的节点作为下一次移动的源节点,然后反复按相对固定的 过程进行移动,通常称这个重复过程为Step。一个完整的Step包括先通过随机选择目标点D、运动速度V和随机停顿时间Tp,然后以速度V匀速直线运动到达目标点D位置后停顿 时间T。其中运动速度V和随机停顿时间Tp的范围和在该范围的分布可以通过模型参数的 方式进行限定,女口 V的范围为(V,v),并且在(V,v)范围内服从平均分布;Tpmin max min max的范围为 (t, t),并且在(t, t )范围内服从平均分布。min max min max模型参数设置:场景参数: xmin=0;xmax=100;ymin=0;ymax=50;时间参数:运行时间T,记忆变量tex,运动时间tm,停顿时间tp;速度参数:vmin=0.5;vmax=1.5;速度大小v; 停顿时间参数: tmin=0.1; tmax=0.2;clear all;%相关参数设定T=1000;%仿真时间s dt=1;%补进时间s vmin=1;vmax=1.5;% 速度范围 tmin=0.1;tmax=0.1;%停顿时间范围 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)xb=unifrnd(0,100,1,1);%随机发生一 路点坐标yb=unifrnd(0,50,1,1);v=unifrnd(vmin,vmax,1,1);%随机发生速度值,速度大小服从均匀分布tp=unifrnd(tmin,tmax,1,1);%随机发生停顿时间,停顿时间服从均匀分布tm=sqrt(xb-xa)A2+(yb-ya)A2)/v; %计算这个 Step 的移动时间if xa=xb&ya=yb %在出发点和目的点坐标相同时单独处理 pause(tp); %停止一段时间tex=tex+tp;%更新运行时间记忆变量elseif T-tex=tm;%本次Step内仿真时间不会到for t=0:dt:tmx=xa+v*(xb-xa)/sqrt(xb-xa)八2+(yb-ya)八2)*t; y=ya+v*(yb-ya)/sqrt(xb-xa)八2+(yb-ya)八2)*t;plot(x,y,.);tex=tex+dt;%更新运行时间记忆变量 endif T-tex=tp;pause(tp); %停止一段时间tex=tex+tp;%更新运行时间记忆变量elsepause(T-tex); %时间到returnendelse %本次Step内仿真时间会到for t=0:dt:T-texx=xa+v*(xb-xa)/sqrt(xb-xa)A2+(yb-ya)A2)*t; y=ya+v*(yb-ya)/sqrt(xb-xa)A2+(yb-ya)A2)*t; plot(x,y,.);endreturn %时间到endendxa=xb;ya=yb;%将目标点更新为新Step的起点end5045403530252015105010 20304050607080 90 100随机路点模型实现和仿真随机路点模型描述随机路点移动模型描述为节点先在整个移动区域内随机选择一个位置作为初始 位置,然后反复按相对固定的过程进行移动,通常称这个重复过程为Step。一个完整的Step包括先通过随机选择目标点6运动速度7和随机停顿时间T,然后以速 度7匀速直线运动到达目标点D位置后停顿时间T。其中运动速度7和随机停顿时间T 的范围和在该范围的分布可以通过模型参数的方式进行限定,如7的范围为(7,7),min max并且在(T,T ),并且在 (T,T )范(7,7)范围内服从平均分布;T的范围为 min maxmin maxmin max围内服从平均分布。模型参数设置:1. 节点的速度,方向,时间间隔服从均匀分布2. 每隔一段随机的时间,节点重新选择速度,方向把节点速度分为x,y轴的速度分量,分别求位移。变量:间隔时间t,速度v,移动角度sitat,场景参数: xmin=0;xmax=100;ymin=0;ymax=50;速度参数: vmin=0.5;vmax=1.5; 停顿时间参数:tmin=0.1; tmax=0.2;角度模型Matle程序实现:xmin=0;xmax=100;ymin=0;ymax=50; axis(xmin xmax ymin ymax); %场景 的范围n=200 ; %仿真次数sitat=unifrnd(0,2*pi,n,1);%节点移动的角度sita服从均匀分布 vmin=0.5;vmax=1.5;v=unifrnd(vmin,vmax,n,1);%速度v的大小服从均匀分布 vx=cos(sitat)*v;vy=sin(sitat)*v;%速度在x轴y轴的分量tmin=0.1; tmax=0.2;t=unifrnd(tmin,tmax,n,1);%时间间隔t服从均匀分布k=1;x(1)=0;y(1)=0;for i=1:n;for j=1:n;x(k+1)=x(k)+vx(i)*t(j);y(k+1)=y(k)+vy(i)*t(j);k=k+1;endend%此刻的位移=上一时刻的位移 +速度乘以时间plot(x,y); comet(x,y,0.01);图 1. 随机路点模型仿真结果
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 建筑资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!