-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathChangeInNetworkLifetimeDueToTheRelaxationOfTheHopCount.m
72 lines (56 loc) · 2.01 KB
/
ChangeInNetworkLifetimeDueToTheRelaxationOfTheHopCount.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
close all;
%% Constant definition
N=30;
N_Increase=20;
N_Count=2;
Rnet=100;
Rnet_Increase=100;
Rnet_Count=2;
Average_Count=40;
%% Rmax deðerlerinin okunmasý
fileID = fopen('Constant_RmaxValues.txt','r');
RMax = textscan(fileID,'%f','Delimiter',',');
RMax = RMax{1};
fclose(fileID);
%% Etx deðerlerinin okunmasý
fileID = fopen('Constant_EtxValues.txt','r');
Etx = textscan(fileID,'%f','Delimiter',',');
Etx = Etx{1};
fclose(fileID);
%% Parallel generation for efficiency
legendString=strings(N_Count,1);
for r=1:Rnet_Count
numberOfNodes=zeros(N_Count,1);
rnet=Rnet+Rnet_Increase*(r-1);
for i=1:N_Count
numberOfNodes(i)=N+N_Increase*(i-1);
for j=1:Average_Count
filename1=strcat('..\results2\',num2str(r),'\',num2str(i),'\',num2str(j));
filename2=strcat('results2\',num2str(r),'\',num2str(i),'\',num2str(j));
nodes=simulateNetwork(numberOfNodes(i), rnet, RMax, Etx, filename1,filename2, 1);
if j==Average_Count/2
waitToComplete(filename2,1);
end
end
waitToComplete(filename2,1);
end
end
%% Validating the results
for r=1:Rnet_Count
numberOfNodes=zeros(N_Count,1);
maxLifeTimePercent=zeros(N_Count,1);
minHopCounts=zeros(N_Count,1);
hopCountPercent=zeros(N_Count,1);
rnet=Rnet+Rnet_Increase*(r-1);
for i=1:N_Count
numberOfNodes(i)=N+N_Increase*(i-1);
for j=1:Average_Count
filename1=strcat('..\results2\',num2str(r),'\',num2str(i),'\',num2str(j));
filename2=strcat('results2\',num2str(r),'\',num2str(i),'\',num2str(j));
validateLifetimeNetwork(numberOfNodes(i), rnet, RMax, Etx, filename1,filename2);
%validate_only(numberOfNodes(i), rnet, RMax, Etx, filename1,filename2);
end
end
end
%% Calculate and plot the values
calculateAverageResults(N, N_Increase, N_Count, Rnet, Rnet_Increase, Rnet_Count, Average_Count, 1);