Effacer les filtres
Effacer les filtres

Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

I need to plot clustering coefficient for varying value of p(fraction of directional beamforming antenna from total n and all other nodes are omnidirectional ) , although i am getting value for particular p but don't know how to plot for varying p

1 vue (au cours des 30 derniers jours)
n = 300; % no. of nodes A = 100; % area of bounded region r1 = 5; % transmission range of main lobe assuming equal range for each node r2 = 1; % transmission range of side lobe assuming equal range for each node r3 = 2; % omnidirectional range nc = sqrt(A)*(rand(n,2)); % random coordinates of each node assuming bounded area is square m = 4; % no. of elements in ULA antenna theta_b = rad2deg(pi/6); % boresight direction b = zeros(n,n); %empty matrix adj = zeros(n,n); k = zeros(1,n); t = zeros(1,n); pt = 60; p =.5; if p==0 for l =1:n for v = 1:n dist0 = sqrt((nc(m,1)-nc(f,1))^2+(nc(m,2)-nc(f,2))^2); if dist0<r3 && dist0>0 b(l,v) = 1; b(v,l) = 1; adj(l,v) = dist0; adj(v,l) = dist0;
end end end end dn = 300*p; x = randi([1,n],dn,1); % value in column matrix may repeat g = zeros(dn,2); for s = 1:dn g(s,:) = nc(x(s,1),:); end
for i = 1:dn
for j = 1:n
dist = sqrt((nc(j,1)-g(i,1))^2+(nc(j,2)-g(i,2))^2);
pr = pt/dist^2;
if pr>25 % First constraint for ULA model
if dist < r1 && abs(nc(j,1))>abs(g(i,1)) % distance between nodes cannot exceed its transmission range
ang = atand((nc(j,2)-g(i,2))/(nc(j,1)-g(i,1)))
if ang>rad2deg(-7*pi/36) && ang<rad2deg(7*pi/36)
b(x(i,1),j) = 1;
b(j,x(i,1)) = 1;
adj(x(i,1),j) = dist;
adj(j,x(i,1)) = dist;
k(j) = ang; %array showing values of different ang's
end
end
if abs(nc(j,1))<abs(g(i,1)) % third constraint for side lobe
if dist<r2
ang1 = atand((g(i,2)-nc(j,2))/(g(i,1)-nc(j,2)));
ang1 = ang1+rad2deg(pi);
if rad2deg(11*pi/12)<ang1 && ang1<rad2deg(13*pi/12) && ang1~=(rad2deg(pi/2)|rad2deg(-pi/2))
b(x(i,1),j) = 1;
b(j,x(i,1)) = 1;
adj(x(i,1),j) = dist;
adj(j,x(i,1)) = dist;
t(j) = ang1 %array showing values of different ang1's
end
end
end
else
continue ;
end
end
end
if p~=1
for f = 1:n
c=0;
for g =1:dn
if f~=x(g,1)
c=c+1;
end
end
if c==dn
for m = 1:n
dist1 = sqrt((nc(m,1)-nc(f,1))^2+(nc(m,2)-nc(f,2))^2);
if dist1<r3 && dist1>0
b(f,m) = 1;
b(m,f) = 1;
adj(f,m) = dist1;
adj(m,f) = dist1;
end
end
end
end
end
clustering(adj)

Réponses (0)

Cette question est clôturée.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by