필터 지우기
필터 지우기

Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

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 (최근 30일)
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)

답변 (0개)

이 질문은 마감되었습니다.

Community Treasure Hunt

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

Start Hunting!

Translated by