无线传感网络中最小功率路由与最大剩余能量的研究

%matalb仿真代码

%最小功率路由(2跳)

   clear all

   clc

   x0=0

   y0=0

   plot(x0,y0,'o')

   hold on%建立源节点

   xn=10

   yn=10

   

   plot(xn,yn,'v')

   hold on%建立目的节点

 

   x=10*rand(1,10)

   y=10*rand(1,10)

   plot(x,y,'+')

   hold on%建立网络中的节点

   

   E=1e+02

   K=1

   a=3

   d1=sqrt(x.^2+y.^2)

   d2=sqrt((10-x).^2+(10-y).^2)

   P=2*E+K*d1.^a+2*E+K*d2.^a

   Pmin=min(min(P))

   [xin,yin]=find(P==min(min(P)))

   xx=x(yin)

   yy=y(yin)

   plot(xx,yy,'*')

   hold on

   plot([x0 xx xn],[y0 yy yn])

   hold on

    

%最大剩余能量路由(2跳)

 E0=5000*(rand(1,10)+0.5)      %能量不同

 %E0=3000*ones(1,10)      %能量相同

  P1=2*E+K*d1.^a

  En1=E0-P1

  Eax=max(max(En1))

  [xax,yax]=find(En1==max(max(En1)))

  yax1=yax

  xx1=x(yax1)

  yy1=y(yax1)

  plot(xx1,yy1,'*')

  hold on

  plot([x0,xx1,xn],[y0,yy1,yn],'r')

  title('形成链路比较')

  legend('源节点','目的节点','网络中的节点','中继节点','最小功率','中继节点','最大剩余能量') 

 

%消耗的总的传输功率

figure(2)

bar(P,1)

title('消耗的总的传输功率')

xlabel('节点序号')

ylabel('消耗功率')

 

%各节点剩余能量的分布

figure(3)

subplot(2,2,1)

E0(yax1)=Eax

E1=E0

bar(E1,1)

hold on

bar(En1,1,'y')

title('第1次传输各节点剩余能量的分布')

xlabel('节点序号')

ylabel('剩余能量')

 

subplot(2,2,2) 

E2=E1

En2=E2-P1

Eax2=max(max(En2))

[xax ,yax2]=find(En2==max(max(En2)))

E2(yax2)=Eax2

bar(E2,1)

hold on

bar(En2,1,'y')

title('第2次传输各节点剩余能量的分布')

xlabel('节点序号')

ylabel('剩余能量')

 

subplot(2,2,3) 

E3=E2

En3=E3-P1

Eax3=max(max(En3))

[xax, yax3]=find(En3==max(max(En3)))

E3(yax3)=Eax3

bar(E3,1)

hold on

bar(En3,1,'y')

title('第3次传输各节点剩余能量的分布')

xlabel('节点序号')

ylabel('剩余能量')

 

subplot(2,2,4)

E4=E3

En4=E4-P1

Eax4=max(max(En4))

[xax, yax4]=find(En4==max(max(En4)))

E4(yax4)=Eax4

bar(E4,1)

hold on

bar(En4,1,'y')

title('第4次传输各节点剩余能量的分布')

xlabel('节点序号')

ylabel('剩余能量')






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值