资源简介
能运行,包括函数文件,可再优化
代码片段和文件信息
close all;
clear;
clc;%%寻找交区域
%% 绘制区域图
xm = 100; %横坐标长度
ym = 100; %纵坐标长度
sink.x = xm/2; %基站横坐标
sink.y = ym+50; %基站纵坐标
density = 1/50; %节点密度
n = xm*ym*density; %节点个数
Eo = 0.5; %初始能量
packetLength = 3000; %数据报长度
ctrPacketLength = 300; %控制数据报
Eelec = 50*0.000000001;
ETX = 50*0.000000001; %电路发送一比特所需能量
ERX = 50*0.000000001;
Efs = 10*0.000000000001; %自由空间模型发送一比特数据功放所需能量
Emp = 0.0013*0.000000000001; %多径衰落模型功放
EDA = 5*0.000000001; %数据汇聚所需能量
INFINITY = 999999999999999;
rmax = 8000 ; %最大迭代轮数
do = sqrt(Efs/Emp); %传输距离>do为多径衰落模型,<则为自由空间模型
% d_to_BS=((sink.y-ym) + (sink.y))/2;
% n_CH_opt=sqrt(n/2*pi)*sqrt(Efs/Emp)*sqrt(xm*ym)/d_to_BS^2;
% R = sqrt(xm*ym/(pi*n_CH_opt)); %节点通信半径
d_to_BS = (abs(sink.y-ym)+sqrt(sink.x^2+sink.y^2))/2;
n_CH_opt = sqrt(n/(2*pi))*sqrt(Efs/Emp)*sqrt(xm*ym)/(d_to_BS^2);
R = sqrt(xm*ym/(n_CH_opt*pi));
%%%%%%%%%%%%%%%%%%%%%%%%% END OF PARAMETERS %%%%%%%%%%%%%%%%%%%%%%%%
for i = 1:n
S(i).xd = rand(11)*xm;%坐标
S(i).yd = rand(11)*ym;
S(i).G = 0; %=0表示有资格成为簇头
S(i).cl = 0;%成为簇头的次数
S(i).type = ‘N‘;%普通节点
S(i).E = Eo;
S(i).Dis = ‘n‘;
end
S(n+1).xd = sink.x;
S(n+1).yd = sink.y;
figure(1);
for i = 1:n
plot(S(i).xdS(i).yd‘k.‘);
hold on;
end
plot(S(n+1).xdS(n+1).yd‘bp‘);
ylabel(‘Y-axis (m)‘‘fontsize‘10);
xlabel(‘X-axis (m)‘‘fontsize‘10);
title(‘simulation&demo‘);
hold on
%load d:\wu\mat\Init;
%load C:\Users\Zhangwei\Documents\MATLAB\mat\Init;
%% 加入特殊点
Unique_num = 10 ;%%待输入的值
Unique_node = 100*rand(Unique_num2);
CH=[10 20 30 40 50 60 70 80 90 100];
%Unique_num = length(CH);
temp = [];
temp1 = [];
for i=1:length(CH)
temp = [temp S(CH(i)).xd];
temp1 = [temp1 S(CH(i)).yd];
end
Unique_node = [temp‘ temp1‘];
Unique_node_x = Unique_node(:1);
Unique_node_y = Unique_node(:2);
hold on;
for i = 1:Unique_num
theta = 0:pi/20:2*pi;
Circle1 = Unique_node(i1)+R*cos(theta);
Circle2 = Unique_node(i2)+R*sin(theta);
plot(Circle1Circle2‘g-‘);
hold on
end
axis equal
for ii = 1:Unique_num
text(Unique_node_x(ii)+1Unique_node_y(ii)strcat(‘U‘num2str(ii))‘fontsize‘10);
end
hold on
plot(Unique_node_xUnique_node_y‘rp‘);
axis([0 100 0 100]);%%设置图的大小
hold on
%% 求特殊点之间的距离(若两点距离小于2*R,连边便于观察)
Unique_dis = zeros(Unique_num-1Unique_num);
for ii = 1:Unique_num
for jj = ii+1:Unique_num
Unique_dis(iijj) = sqrt((Unique_node_x(ii)-Unique_node_x(jj)).^2+(Unique_node_y(ii)-Unique_node_y(jj)).^2);
if(Unique_dis(iijj)<=2*R)
plot([Unique_node_x(ii) Unique_node_x(jj)][Unique_node_y(ii) Unique_node_y(jj)]‘r-‘);
hold on
end
end
end
%%%获取普通点的x与y坐标
Ordinary_node_x = cat(1S.xd);
Ordinary_node_y = cat(1S.yd);
Ordinary_node = [Ordinary_node_x Ordinary_node_y]‘;
for i=1:length(CH)
temp = ismember(Ordinary_node [S(CH(i)).xd;S(CH(i)).yd])*(-1)+1;
Ordinary_node = Ordinary_node.*temp;
end
Ordinary_num = 200;
%% 进行判断
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12534 2017-11-02 10:50 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\demo_final.m
文件 10941 2016-10-20 13:10 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\demo_org.m
文件 9033 2016-11-05 16:37 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\FindOrdinaryNodes.m
文件 1144 2016-11-05 16:56 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\GetSubsetAndMerge.m
文件 1624 2016-10-10 13:17 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\Init.m
文件 7114 2016-10-13 13:03 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\leach_2.m
文件 18240 2016-10-14 21:18 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\leach_ceshi.m
文件 187 2016-08-31 13:59 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\mat\avCH_HGTD.mat
文件 188 2016-10-09 14:17 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\mat\avCH_LEACH.mat
文件 187 2016-07-20 20:08 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\mat\avCH_LGCA.mat
文件 6806 2016-10-09 14:09 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\mat\Init.mat
文件 450 2016-10-09 14:17 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\mat\liveLEACH.mat
文件 292 2016-08-31 13:59 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\mat\live_HGTD.mat
文件 532 2016-07-20 20:08 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\mat\live_LGCA.mat
文件 452 2016-04-22 10:31 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\mat\live_my.mat
文件 182 2016-04-21 16:47 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\mat\Ref_w.mat
文件 43215 2018-04-08 14:04 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\myResults.mat
文件 13751 2016-11-05 16:51 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\NewFindOrdinaryNodes.m
文件 72 2016-12-07 14:05 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\read me.txt
文件 406120 2018-04-08 14:04 Matlab R2014a 离散点的一些处理,2016.10\结果图\122.jpg
文件 543312 2018-04-08 14:03 Matlab R2014a 离散点的一些处理,2016.10\结果图\123.jpg
文件 248322 2018-04-08 14:04 Matlab R2014a 离散点的一些处理,2016.10\结果图\1234.jpg
文件 12115 2018-04-08 14:05 Matlab R2014a 离散点的一些处理,2016.10\结果图\res1.png
文件 14044 2018-04-08 14:06 Matlab R2014a 离散点的一些处理,2016.10\结果图\res2.png
文件 9940 2018-04-08 14:06 Matlab R2014a 离散点的一些处理,2016.10\结果图\res3.png
目录 0 2017-12-19 12:40 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10\mat
目录 0 2018-04-08 14:29 Matlab R2014a 离散点的一些处理,2016.10\Matlab R2014a 离散点的一些处理,2016.10
目录 0 2018-04-08 14:29 Matlab R2014a 离散点的一些处理,2016.10\结果图
目录 0 2018-04-08 14:29 Matlab R2014a 离散点的一些处理,2016.10
----------- --------- ---------- ----- ----
............此处省略2个文件信息
评论
共有 条评论